如果在使用表單之後調用Form.Release,它將釋放所有相關的內存,但不會將表單變量設置爲nil。Form.Release + NIL
if not assigned (Form1) then
begin
Application.CreateForm(Tform1, Form1);
try
// Do something
finally
Form1.Release
end;
end;
爲了能夠再次調用相同的代碼,Form1中會有一些點被設置爲零。從發佈的說明我不能做
Form1 := nil;
發佈之後,因爲釋放過程將被調用後和形式實際上是釋放之前直接返回。我無法檢測Form.Release何時完成將表單var設置爲nil。
這樣做的最好方法是什麼?
霍爾格
除了它不適用於您不使用免費但是發佈的表單... – 2008-11-08 08:58:20
Roddy我使用的是Delphi Win32(對不起,不提)。據我瞭解,對於一個表單來說,執行更多的任務不僅僅是一個普通的FreeAndNil,它不會釋放表單擁有的組件。它是否正確? – Holgerwa 2008-11-08 09:24:42