
Form close ile kapatıyorum ama...
Forum kuralları
Bu forum sadece yapacağınız işle alakalı doğru bileşeni bulmak içindir. Şöyle bir şey yapmam lazım, hangi bileşeni kullanıyım diyorsanız, doğru yerdesiniz.
Bu forum sadece yapacağınız işle alakalı doğru bileşeni bulmak içindir. Şöyle bir şey yapmam lazım, hangi bileşeni kullanıyım diyorsanız, doğru yerdesiniz.
Form close ile kapatıyorum ama...
Arkadaşlar form üzerindeki nesneler form create olduğunda boş iken yapılan işlemler ile (butonlara basarak vs.) değişiklikler uygulanıyor. Ve sonra Close yada hide yaptığımızda kapanıyor fakat tekrar ana formdan Show dediğimizde enson ekran görüntüsü ile geliyor. Sıfırlama işlemi nasıl yapılır 

Re: Form close ile kapatıyorum ama...
Close veya hide sadece ekrandan kapatır, forma ait degiskenler hafizada durmaya devam eder.
with Tform3.Create(Self) do
try
ShowModal;
finally
Free;
end;
Bu şekilde modal dialoglar yaratıp, free ederek degişkenleri sıfırlayabilirsin.
Bir diger yol eger sıfırlamayı elle yapacaksan
if assigned(form3) then
begin
form3.Free;
form3:=Tform3.Create(self)
end;
Bir diger yol ise form a ait Onclose yöntemine
Action:=caFree; // yazmaktır
Seçim senin, önemli olan free edilmedikçe form bilgileri ilk haline direk dönmez, dolaylı yoldan formdaki componentlari, controllari sen sıfırlayabilir veya form u free yapıp, tekrar create edersin.
with Tform3.Create(Self) do
try
ShowModal;
finally
Free;
end;
Bu şekilde modal dialoglar yaratıp, free ederek degişkenleri sıfırlayabilirsin.
Bir diger yol eger sıfırlamayı elle yapacaksan
if assigned(form3) then
begin
form3.Free;
form3:=Tform3.Create(self)
end;
Bir diger yol ise form a ait Onclose yöntemine
Action:=caFree; // yazmaktır
Seçim senin, önemli olan free edilmedikçe form bilgileri ilk haline direk dönmez, dolaylı yoldan formdaki componentlari, controllari sen sıfırlayabilir veya form u free yapıp, tekrar create edersin.
Re: Form close ile kapatıyorum ama...
Teşekkür ederim.
Peki bu Action:=caFree; kodu ile kapattığım formu ana formdan tekrar show etmem gerekirse ne yapmalıyım?
Birde Hide ve Close arasındaki fark nedir acaba?
Peki bu Action:=caFree; kodu ile kapattığım formu ana formdan tekrar show etmem gerekirse ne yapmalıyım?
Birde Hide ve Close arasındaki fark nedir acaba?
Re: Form close ile kapatıyorum ama...
Normal pencereler SDI olanlar yani OnClose olunca hide edilirler. MDI pencereler ise OnClose durumunda minimize edilirler.
Eger caFree ile serbest bıraktıgın pencereyi tekrar açmak istersen create etmelisin, dogrudan form2.show dersen access violation a neden olursun.
form2:=TForm2.Create(Self);
form2.show;
Delphi de application - options da autocreate formlar listelenir. Ana pencere dışında hiçbir formun autocreate olmasına gerek yoktur. Programda gerekince sen onları oluşturur veya yokedersin. Sadece sürekli el altında olması gereken pencerelerin hafızada durmasında yarar vardır.
Eger caFree ile serbest bıraktıgın pencereyi tekrar açmak istersen create etmelisin, dogrudan form2.show dersen access violation a neden olursun.
form2:=TForm2.Create(Self);
form2.show;
Delphi de application - options da autocreate formlar listelenir. Ana pencere dışında hiçbir formun autocreate olmasına gerek yoktur. Programda gerekince sen onları oluşturur veya yokedersin. Sadece sürekli el altında olması gereken pencerelerin hafızada durmasında yarar vardır.
Re: Form close ile kapatıyorum ama...
Çevapların için Teşekkürler. 
