mdi formda hata mesajı veriyor

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
beyaztilki
Üye
Mesajlar: 21
Kayıt: 02 Oca 2008 09:35

mdi formda hata mesajı veriyor

Mesaj gönderen beyaztilki »

merhaba bu zamana kadar ben hep normal formlarla çalıştım. mdi form kullanmak isediğimde hep bir hatayla çalıştım. elimdeki işte mdi form kullanmam gerek ve gene bir hata ile karşılaştım. formu incelmemem rağmen sonuç alamadı. konu şu :

bir adet ana formum var iki adet alt formu var (child form) ilk etapda normal olarak çalışıyor. hata vermiyor. ama birkaç seferden sonra açmak istediğimde

"project mts.ese raised exception class eaccessviolation with message 'Access violation at address 00000000. read of adress 00000000'. process stopped . use step or to continue." şeklinde hata veriyor.

burada neyi gözden kaçırıyorum. acaba?
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Mesaj gönderen mkysoft »

child formların FormClose olayına

Kod: Tümünü seç

Action:=caFree;
ekle. Childformlarını oluşturuken

Kod: Tümünü seç

application.CreateForm(TForm1,Form1);
komutuyla oluştur. Project ayarlarından child formlarını auto create listesinden çıkar.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
birde mdi child formların visible özelliği true dur.
yani formu create ettiğiniz zaman otomatik olarak ekranda gösterilirler.
formların oncreate ve onshow eventlarına yazdığınız kodlardan dolayı da olabilir.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Mesaj gönderen Battosai »

Niye kullanmak zorundasın ki...Normal forum ile yap...
akdatilla
Üye
Mesajlar: 292
Kayıt: 02 Nis 2006 06:04
Konum: Antalya

Mesaj gönderen akdatilla »

procedure TChildForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TChildForm.FormDestroy(Sender: TObject);
begin
ChildForm:=Nil;
end;
Cevapla