free işleminde hata
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- kadirkurtoglu
- Üye
- Mesajlar: 748
- Kayıt: 22 May 2005 01:20
- Konum: Uzakta Görünen Tepeden...
free işleminde hata
s.a. arkadaşlar formu application.create form yöntemiyle açtıktan sonra onclose olayına free kodu yazdığımda hata alıyorum. aynı kodu butona yazdığımda çalışıyor. ben bu işlemi formun kapat ikonu ile kapatmak istiyorum. butonla değil. bu konuyla bilgisi olan arkadaşlardan yardımlarını bekliyorum.
Bir mum, yanındaki mumları tutuşturmakla,
ışığında hiç bir şey kaybetmez.
Mevlana
OS win.10, IDE Delphi 10.3, RDBMS Firebird and MSSQL, BROWSER Chrome
ışığında hiç bir şey kaybetmez.
Mevlana
OS win.10, IDE Delphi 10.3, RDBMS Firebird and MSSQL, BROWSER Chrome
close olayına
yaz dene.
Kod: Tümünü seç
close;
action:=cafree;
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
- kadirkurtoglu
- Üye
- Mesajlar: 748
- Kayıt: 22 May 2005 01:20
- Konum: Uzakta Görünen Tepeden...
- kadirkurtoglu
- Üye
- Mesajlar: 748
- Kayıt: 22 May 2005 01:20
- Konum: Uzakta Görünen Tepeden...
birde şu şekilde bir yöntem var.
formu eğer
bu şekilde forma bağlanırsanız eğer..
close olayınaben bu yöntemi kullanırım.sorunsuz çalışıyor.
formu eğer
Kod: Tümünü seç
if not assigned(form) then
begin
form:=Tform.create(self);
form.show;
end
else
form.show;
end;
close olayına
Kod: Tümünü seç
action:=cafree;
form:=nil;
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
- kadirkurtoglu
- Üye
- Mesajlar: 748
- Kayıt: 22 May 2005 01:20
- Konum: Uzakta Görünen Tepeden...
hocam sağolun bunlarıda deneyecem. benim yapmaya çalıştığım. programın tamamının hafızada çalışıp fazladan yer işgal etmesini engellemek. bunun için projenin kaynak kodlarından ana form haric diğer formların oluşturulma kodlarını siliyorum. daha sonra formun açılış kodu olarak.
yapıyorum bu yöntemle formda 100 adet form varsa ve tamamı hafızada 50 mb yer kaplıyor. anaform ise 5 mb yer kaplıyor. program çalıştığında sadece anaform hafızada olduğu için sadece 5 mb bir bölüm kullanılıyor. diğer formlar show komutuyla açılıyor ve hafızaya dahil oluyor, kapandığında ise free yöntemiyle hafızadan siliniyor.. ben bu sebebten kullanma ihtiyacı hissettim. herşey için teşekkürler.....
Kod: Tümünü seç
if form2 = nil then
begin
Application.Createform(TForm2, Form2);
Form2.Show;
end else begin
Form2.Show;
end;
Bir mum, yanındaki mumları tutuşturmakla,
ışığında hiç bir şey kaybetmez.
Mevlana
OS win.10, IDE Delphi 10.3, RDBMS Firebird and MSSQL, BROWSER Chrome
ışığında hiç bir şey kaybetmez.
Mevlana
OS win.10, IDE Delphi 10.3, RDBMS Firebird and MSSQL, BROWSER Chrome
CreateForm Yerine Create methodunu kullanman daha iyi. Bir de böyle alengirli bir if ifadesine gerek yok. Ben olsam şöyle yapardım.kadirkurtoglu yazdı:Kod: Tümünü seç
if form2 = nil then begin Application.Createform(TForm2, Form2); Form2.Show; end else begin Form2.Show; end;
Kod: Tümünü seç
if not Assigned(Form2) then
Form2:= TForm2.Create(Application);
Form2.Show;
Merhaba ,
Application.CreateForm ile yaratılan formları Release ile bırakmanız karşılaştığınız sorunlara çözüm olabilir.
iyi çalışmalar.
Application.CreateForm ile yaratılan formları Release ile bırakmanız karşılaştığınız sorunlara çözüm olabilir.
iyi çalışmalar.
Volkan KAMADAN
www.polisoft.com.tr
www.polisoft.com.tr
Kod: Tümünü seç
if not assigned(form) then
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************