如果在使用表单后调用 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;
在 Release 之后,因为 Release 过程将在被调用之后和实际释放表单之前直接返回。我无法检测到 Form.Release 何时完成将表单 var 设置为 nil。
做这个的最好方式是什么?