Merhabalar ik mesajımızda uyarı yedik inşllah bu sefer dogru sormuşumdur.
Programda MDiChild kullandım butonlar problemsiz çalışıyo sorun yok ama açıkken tekrar bi daha çamaya çalıyorum aktif formu ekran agetiriyo.Ama daha sonra formu kapatıp açmak istersem hata veriyo.Acces violation hatası daha sonra hata bir kaç defa gelince Abstrack hatası veriyo ve Bul Butonu Çalışmıyo.
Yarımdcı olursanız sevinirim..
procedure TPersonelf.Ekle1Click(Sender: TObject);
begin
if (Soeklef=NIL) then
Soeklef:=TSoeklef.Create(self);
Soeklef.WindowState:=wsNormal;
Soeklef.Show;
end;
procedure TPersonelf.SalkOcaBul1Click(Sender: TObject);
begin
if (Sobul=NIL) then
SoBul:=TSoBul.Create(self);
SoBul.WindowState:=wsNormal;
SoBul.Show;
end;
end.
şeklinde bir atama yaparsanız modal formlarınız tekrar çağırdığınızda hata vermez.
sobul çalışmıyor derken hata mesajı falan mı veriyor yoksa hiç bir mesaj vermeden hiç bir işlem yapmıyormu.
kolay gelsin.
En son aslangeri tarafından 06 Tem 2005 12:59 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Sorun MDi formda Değil MDi daki child formda ama senin dediğini child forma uygulayacagım .. Sorun Şu SOBul butonu una form acıkken bikaç defa tıklıyom aslında bi defa acık fazla da acmıyo(açmasınıda istemiyom zaten) ama daha sonra sobul un tetiklediği child formu kapatıp tekrar açmaya çalıştıgımda hata veriyo bir kaç defa daha tıklıyom açayım die bu sefer de abstrack diye hata msg veriyo ilgine tşkler...
procedure TForm1.Button1Click(Sender: TObject);
begin
if Form2=nil then
begin
Application.CreateForm(TForm2,Form2);
Form2.Show;
end
else
begin
Form2.Show;
end;
end;
if not assigned(formun) then
begin
formun:=Tform.create(self);
formun.show;
end
else
formun.show;
end;
Assigned forma nil atanıp atanmadığına bakar ve ona göre işlem yapar.Eğer atanmışsa oluşturur ve açar yok atanmamışsa zaten form hafızada vardır ve varolanı açar.O yüzden assigned yönteminin işe yaramasını istiyorsan forma kapatırken nil atamalısın.
kolay gelsin.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.