self 与 nil (50分)

  • 主题发起人 主题发起人 liu12345
  • 开始时间 开始时间
L

liu12345

Unregistered / Unconfirmed
GUEST, unregistred user!
请问高手:
在 *.create(self) 与 *.create(nil) 分别是什么涵义?
它们之间有什么区别? create()还有别的参数吗?
 
这个参数是对象的拥有者,还可以用
*.create(Application),
*.create(form1)
 
*.create(self) 一般在 TForm 的过程中使用,这时self 就表示那个 Form
Create中的参数表示由谁负责内存的释放.
如果是 nil,在不需要的时候,程序序必须调用相应的 Free 来释放内存.
如果是 self( 或其它的非 nil) ,则在Self,自身释放内存时,会释放动态创建的
控件(*)的内存,不需要程序员调用相应的 Free 来释放内存
 
jsxjd说的很好
 
SELF表示使用当前的窗体作为所创建的组件的拥有者等价与*.create(CurrentForm)
nil则表示当前的组件没有拥有者,参数还可有Application、Panel、GroupBox等。
 
*.create(self) 是把Self作为*的Owner,
*.create(nil) *没有Owner。
 
都被jsxjd讲完了
 
jsxjd 说的很好,很感谢
 
后退
顶部