【发布时间】:2012-02-10 00:16:11
【问题描述】:
我在运行时创建我的表单,如下所示:
AboutForm := TAboutForm.Create(AboutForm);
try
AboutForm.ShowModal;
finally
AboutForm.Free;
end;
但是使用这些有什么区别:
AboutForm := TAboutForm.Create(Self);
AboutForm := TAboutForm.Create(nil);
AboutForm := TAboutForm.Create(Application);
从我所见,它们似乎都工作相同,但哪个是正确的,或者它们都是正确的,通常是最好使用的?
感谢您的 cmets :)
【问题讨论】:
-
1.您的第一个示例没有内存泄漏。
-
回复:您现在删除的关于如何成为一名优秀程序员的问题 - 在向公众发送问题之前阅读精美的手册 - docwiki.embarcadero.com/VCL/en/Forms.TCustomForm.Create。你对哪个论点特别感兴趣?是的,
AOwner- 点击链接 - docwiki.embarcadero.com/VCL/en/Classes.TComponent.Owner -
@user539484 谢谢,我认为我的其他已删除问题将被允许,因为它是与编程相关的问题。
-
AboutForm := TAboutForm.Create(AboutForm) 是非常错误,因为 AboutForm 在传递给构造函数时没有初始化。如果它包含除 NIL 之外的其他内容,您的应用程序可能会崩溃。
标签: delphi