delphi 窗体的释放

关于窗体的释放: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值,不会重复创建窗体实例

posted @ 2012-02-09 10:40  Unique.Y  阅读(727)  评论(0编辑  收藏  举报