如:create(self)与create(nil)的区别
解决方案 »
- 请教一个FAST REPORT问题
- Delphi 关于dns发送邮件?
- .NET的DES加密算法在DELPHI里如何实现?
- 用delphi7+ado+FastReport开发的应用程序怎样打包发布啊?
- delphi 执行 jquery 代码错误
- DBGridEH和DataTimePicker(100分)
- 如何设置excel打印区域?(高手请进)
- 请高手调试一下dxMemData增加字段,谢谢
- 高手都死了吗,来这看看,如果能给我解决的话,我有三个贴的分都给你
- 送分大行动,快来拿呀!
- ReportBuilder问题!
- 关于 DeviceCapabilitiesA 函数获得当前打印机支持的最大纸张,请老师们指点!
-------
不一定,没有谁规定必须传入所有者,TForm.Create(nil)一样可用,只不过新建的FORM没有所有者而已。
其实解释一下所有者是什么意思就可以了。
一个继承自TComponent的类,它的构造函数Create都要求一个参数:AOwner,也就是要求提供一个所有者,如果一个TComponent有所有者,那么当所有者被销毁时,这个TComponent自动被销毁----举例来说,一个FORM被销毁时,它所拥有的所有按钮、检查框、文本框....乃至不可视的如TQuery等等被自动被销毁,因为这些控件的所有者都是这个FORM。
但是TComponent也可以没有所有者,因为所有者并不等于父窗口,一个按钮(所有TWinControl)没有父窗口是不行的(看不到它),但可以没有所有者。
TForm.Create的参数是要传入所有者(或称对象的创建者)
而NIL则没有创建者