窗体创建函数Create的参数有什么不同?(50分)

  • 主题发起人 主题发起人 MingWord
  • 开始时间 开始时间
M

MingWord

Unregistered / Unconfirmed
GUEST, unregistred user!
窗体创建的时候,有
Form1 := TForm1.Create(nil);
Form1 ;= TForm1.Create(Application);
还有很多方法可以创建窗体,各位能列举一下,并说明不同之处有何效果吗?
 
代表由于来释放这个窗体,如果是nil,就要手动来释放
如果是Application,可以由进程结束时来释放(进程结束时本来就要释放的)
 
constructor Create(AOwner: TComponent); override; //定义
AOwner is the owner of the TCustomForm object. //这是帮助里的,也就是说,AOwner表示父组件(拥有者);在Delphi里组件释放时会自动释放所有的子组件,所以
Form1 := TForm1.Create(nil); //这个得自己释放
Form1 := TForm1.Create(Application); //这个在程序退出时会释放(当然也可手动释放)
Form1 := TForm1.Create(Self); //这种形式一般出现于某个窗体的代码中,表示窗体释放时会自动释放Form1
...
 
你也可以用 Application.CreatForm(Form1, TForm); 呵呵
 
楼上的好像少打了一个e
呵呵
 
多人接受答案了。
 
后退
顶部