Form Close Ederken access violation hatssı

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
aliplane
Üye
Mesajlar: 30
Kayıt: 06 Eki 2008 03:32

Form Close Ederken access violation hatssı

Mesaj gönderen aliplane »

Uygulamamda loginden sonra menüden aşağıdaki yöntemle form açıyorum.

Kod: Tümünü seç

var
childMK:TMKFrm;
begin 
childMK:=TMKFrm.Create(Application);
childMK.Show;
Daha sonra childMK formu içinde bir dbgride popup menü ekledim.Buraya tıklayınca aşağıdaki kod çalışıyor.

Kod: Tümünü seç

 
var
childHRR:THTRFrm;
begin
childHRR:=THTRFrm.Create(Application); 
childHRR.RadioGroup1.ItemIndex:=0; 
childHRR.Edit1.Text:=CRDBGrid1.Fields[5].AsString; 
childHRR.Button1.Click;
childHRR.Show;
Uygulama çalışıyor ancak şu sırayı izlediğimde access violation hatası alıyorum.
childMK açıyorum.
childMK içinden childHRR yi açıyorum.
childMK kapatıyorum.
childMK açıyorum.
childMK içinden childHRR yi açıyorum.
childMK kapatırken hata alıyorum.

Her form ayrı çalışsın istiyorum.Formu create ederken mi hata yapıyorum??
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: Form Close Ederken access violation hatssı

Mesaj gönderen SimaWB »

Birçok kez kullanacağınız formu global tanımlayıp bir kere create ettikten sonra sadece gizle/göster yapmanız daha mantıklı olacaktır.
childHRR'ı global tanımlayıp:

Kod: Tümünü seç

if not Assigned(childHRR) then
  childHRR := THTRFrm.Create(self);
childHRR.Show;
ve childHRR'ın FormClose'unda

Kod: Tümünü seç

Action := caHide;
yaparsanız sorun olmaz
There's no place like 127.0.0.1
Cevapla