请教一个关于窗口创建后关闭是否释放了资源的问题!(100分)

  • 主题发起人 主题发起人 topboy
  • 开始时间 开始时间
T

topboy

Unregistered / Unconfirmed
GUEST, unregistred user!
比如说有两个窗体,一个为mainform,一个为form2。

我不自动创建form2,我在mainform中添加:
procedure Tmainform.N15Click(Sender: TObject);
var
form2:Tform2;
begin
form2:=Tform2.Create(self);
form2.Showmodal;

//打开form2窗口完成工作后,再关闭form2,是否直接form2.close就释放资源了?
还是要加其他代码。

顺便问一下这种打开窗口的方法好还是自动创建form再form.show好?
 
1.不需要了
2.根据需要,最好不要自动创建,那样在需要更多的内存(不过现在内存便宜,无所谓拉)
 
如果窗体很多,最好不要自动创建,那样既占用内存,又拖慢了启动时间。
 
问题这么简单!!!
标准格式应该是:
form2:=Tform2.Create(self);
try
form2.Showmodal;
finally
form2.Free;
end;

当然是自己手工创建好,这样最节省资源。
 
同意楼上的看法。这种基础性的东东还是看看书上怎么说的吧,如果只是为了解决一时的问题
那么永远只能是知其然而不知其所以然。
推荐两本书《D5从入门到精通》、《D5开发人员指南》
 
如果你不自动创建form2,那么
form2:=Tform2.Create(self);
这行代码是多余的,也用不着你自己释放资源

不过最好是手工创建
 
后退
顶部