控件的Create过程中参数的问题(50分)

C

ckylixj

Unregistered / Unconfirmed
GUEST, unregistred user!
var
tt : TTimer;
begin
tt := TTimer.Create(nil);
tt := TTimer.Create(self);
tt := TTimer.Create(form1);
end;
以上三条语句有什么区别呢?
 
看你用在什么地方,一般来说这3种方法都可以,没有太大的影响。
 
Create(nil)--自动创建,无需释放
Create(self)--Timer的调用者创建,
Create(form1)--form1创建,
后两者都要手动释放
 
好像不对吧
Create(nil) 需要直接释放 其他Self 或form1释放
 
Create的参数叫Owner,对象的拥有者,也就是负责对象释放的对象,如果指定为nil,没有拥有者就需要自己释放,一般来说,尽量不需要的时候就把对象释放
 

Similar threads

S
回复
0
查看
800
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
802
SUNSTONE的Delphi笔记
S
S
回复
0
查看
934
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
顶部