请问create(self)和create(application)有什么不同???(0分)

  • 主题发起人 主题发起人 autocar
  • 开始时间 开始时间
A

autocar

Unregistered / Unconfirmed
GUEST, unregistred user!
例如:
tbutton.create(self)和tbutton.create(application)有什么不同???
什么时候需要用create(self) 什么时候需要用create(application)??????

谢谢
 
self=app

self<> nil
 
tbutton.create(self)
创建后的对象在使用后会由其父类自动释放

tbutton.create(application)
创建后的对象,在程序结束时由application来释放
 
我再补充一下,Self一般是指当前的窗体,Application指此运行程序。
这里的TButton.Create()里的参数是TButton的拥有者。当拥有者释放前,如果TButton的实例没有释放,拥有者会释放它。
 
一般情况下
自己创建控件要用Create(Self)
创建生存期比调用者长的窗体应该用Create(Application)
创建生存期包含于调用者生存期的窗体建议使用Create(Self)
 
这个控件的拥有者不同,也就是释放者不同,一个是一个Form,一个是Application对象
 
并非这么简单
请看
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1855666
 
对,如果自己开发控件,那么拥有者就不仅仅是作为释放者这么简单了。
 
后退
顶部