如果在使用表单后调用Form.Release,则会释放所有相关内存但不将表单变量设置为nil。
if not assigned (Form1) then
begin
Application.CreateForm(Tform1, Form1);
try
// Do something
finally
Form1.Release
end;
end;
为了能再次调用相同的代码,必须在某个时候将Form1设置为nil。从Release的描述中我无法做到这一点。Form1 := nil;
在释放之后,因为释放过程会在调用后直接返回,而在窗体实际释放之前。我无法检测Form.Release何时完成以将窗体变量设置为nil。
最好的方法是什么?