form free olmuyor ?
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
form free olmuyor ?
ilk oncelikle herkesin bayrami mubarek olsun
her zaman kullandigim yontem ama bi formda sacmaliyor neden olabilir?
formu create etmek icin
form1 := tform1.create(nil);
form1.show;
yapiyorum..
form1 in de onclose'una
action :=caFree;
form1 := nil;
diyorum ama form hafizadan gitmiyor? (Diger butun formlarda ise yariyo ama bunda olmadi nedense... )
baska bi buton ekliyip de
if not assigned(form1) then
showmessage('form yok');
gibi bi deneme yaptigimda da.. form yok diye mesaj cikarmiyo yani form hala var diyo halbuki nil durumuna getirdim..
onerisi olan varmi? $imdiden te$ekkürler herkese kolay gelsin
her zaman kullandigim yontem ama bi formda sacmaliyor neden olabilir?
formu create etmek icin
form1 := tform1.create(nil);
form1.show;
yapiyorum..
form1 in de onclose'una
action :=caFree;
form1 := nil;
diyorum ama form hafizadan gitmiyor? (Diger butun formlarda ise yariyo ama bunda olmadi nedense... )
baska bi buton ekliyip de
if not assigned(form1) then
showmessage('form yok');
gibi bi deneme yaptigimda da.. form yok diye mesaj cikarmiyo yani form hala var diyo halbuki nil durumuna getirdim..
onerisi olan varmi? $imdiden te$ekkürler herkese kolay gelsin
- ender_arslanturk
- Kıdemli Üye
- Mesajlar: 709
- Kayıt: 18 Şub 2005 03:38
- Konum: İstanbul
- ender_arslanturk
- Kıdemli Üye
- Mesajlar: 709
- Kayıt: 18 Şub 2005 03:38
- Konum: İstanbul
-
- Üye
- Mesajlar: 17
- Kayıt: 10 Kas 2005 05:15
- Konum: Antalya
- İletişim:
İki ihtimal geliyo aklıma
1. Her form olan unit'in başında Form'un classına ait bir değişken global olarak declare edilir.
var Form1:TForm1 şeklinde.
MDIChild yaratırken bir procedure'ın içinde local bir değişkenle formu yaratmak daha akıllıca olur sanırım.
procedure yeniForm;
var Form1:TForm1;
begin
Form1:=TForm1.Create(Application); // yada (nil)
Form1.Show;
end;
2. Form1 Project Settings de AutoCreate formlar içinde kalmış olabilir. Buna bağlı olarak global Form1 değişkeni kullanılarak yaratılıyorsa kodun içinde bi yerlerde ve Form1 deki herhangi bir component,method yada event'e refrans varsa access violation ortaya çıkar.
Kolay gelsin.
1. Her form olan unit'in başında Form'un classına ait bir değişken global olarak declare edilir.
var Form1:TForm1 şeklinde.
MDIChild yaratırken bir procedure'ın içinde local bir değişkenle formu yaratmak daha akıllıca olur sanırım.
procedure yeniForm;
var Form1:TForm1;
begin
Form1:=TForm1.Create(Application); // yada (nil)
Form1.Show;
end;
2. Form1 Project Settings de AutoCreate formlar içinde kalmış olabilir. Buna bağlı olarak global Form1 değişkeni kullanılarak yaratılıyorsa kodun içinde bi yerlerde ve Form1 deki herhangi bir component,method yada event'e refrans varsa access violation ortaya çıkar.
Kolay gelsin.
-
- Üye
- Mesajlar: 8
- Kayıt: 29 Eki 2005 10:54
birde close dene
radiochaos un dediği gibi yapıyorum bende ve çalışıyor. ayrıca cafree ve nil kullanmak yerine sadece formadı.close dene
kolay gelsin
kolay gelsin