關於窗體的釋放:close()方法是將窗體隱藏,即form.hide;
釋放窗體或是控制項的標準用法是form.free,其實free方法只是呼叫了destroy()方法,在窗體不為nil時進行資源的釋放,但並不將窗體例項置為nil,只有窗體例項沒有創始化之前值才為nil,否則你要顯示的將窗體例項置為nil.
釋放窗體的標準用法是:
1、對於模態窗體
form1 := tform.create(self);
try
your process
form1.showmodal;
finally
form1.free;
end;//可以確保資源的釋放,而不會重複建立窗體例項。
2、對於非模態窗體
if not assigned(form1) then//窗體例項為nil;
begin
form1 := tform1.create(self);
form1.show;
end;
注意要在窗體的onclose和ondestroy事件中分別寫入事件處理**。
onclose:
action := cafree;
ondestroy:
form1 := nil;
//這樣確保form1在釋放後置為nil值,不會重複建立窗體例項
delphi 窗體的建立和釋放
delphi中的窗體分為模式窗體和無模式窗體。二者的區別在於,使用者可以在無模式窗體和其他窗體之間切換。這樣,使用者就可以同時工作於乙個應用程式的幾個部分。delphi中窗體的初始化有兩種情況,動態建立,和自動建立。通過show顯示乙個無模式窗體,showmodal顯示乙個模式窗體。窗體有建立對應的...
delphi 窗體的建立和釋放
delphi中的窗體分為模式窗體和無模式窗體。二者的區別在於,使用者可以在無模式窗體和其他窗體之間切換。這樣,使用者就可以同時工作於乙個應用程式的幾個部分。delphi中窗體的初始化有兩種情況,動態建立,和自動建立。通過show顯示乙個無模式窗體,showmodal顯示乙個模式窗體。窗體有建立對應的...
Delphi釋放資源
經過這段時間對delphi中free 和 release 的仔細學習,先總結如下 1。form.free直接釋放資源後,呼叫ondestroy事件,但是沒有將form指標改為nil 2。form.release 等待資源不再使用後釋放資源,同樣不修改form指標為nil,所以在destroy中最好使...