delphi TForm.Create (AOwner)  
官方Delphi 学习QQ群: 682628230(三千人)
频道

delphi TForm.Create (AOwner)


TForm.Create (AOwner)

如何从表单的构造函数中选择正确的参数


当我们在运行时创建继承自 TControl 的对象时,例如 TForm(表单对象),表示该对象的“所有者”的参数必须传递给“创建”构造函数。


构造函数声明如下:


constructor TCustomForm.Create(AOwner: TComponent);

正如我们在前面的语句中看到的,AOwner参数是TForm对象的所有者。表单的所有者负责在必要时从其分配的内存中释放表单。该表单出现在其所有者的 Component 数组中,并在其所有者被销毁时自动销毁。


在这个参数中,我们有三个选项:AOwner: = Nil、Self 和 Application。


让我们看看他们每个人的定义:


Nil:指定表单没有所有者,因此开发人员独自负责释放创建的表单(不再需要时调用FreeAndNil (vForm) 函数)

Self:指定所有者是调用Create方法的同一个对象。例如,如果您正在从按钮的OnClick控制器(此按钮位于MainForm 内)创建表单 ( vForm )的新实例,则self指代“ MainForm ”。所以当MainForm被释放时,它也会释放vForm。

Application:在这种情况下,创建的表单的所有者将是同一个应用程序,并在该应用程序关闭时释放它。

TForm.Create() 示例

procedure TForm1.Button1Click(Sender: TObject);

var

  vFormulario1: TForm;

  vFormulario2: TForm;

  vFormulario3: TForm;

begin

  vFormulario1 := TForm.Create(Nil);

  vFormulario2 := TForm.Create(Self);

  vFormulario3 := TForm.Create(Application);

end;



推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.062049150466919 seconds