读书人

为何自定义类的free没有调用Destroy

发布时间: 2013-09-08 15:21:21 作者: rapoo

为什么自定义类的free没有调用Destroy
type
Tabc=class
public
constructor Create;
Destructor Destroy;
end;
constructor Tabc.Create;
begin
....
....
....
end;
Destructor Tabc.Destroy;
begin
inherited;
end;


执行以下代码
var
temp:Tabc;
begin
temp:=Tabc.create;
temp.free;
end;

发现temp并没有执行Tabc.Destroy;

请问自定义的类是不是释放的时候一定要调用 Tabc.Destroy而不能使用free?


析构函数要标注override,在TObject基类中的已经定义有析构函数,它是个虚函数
你要这样

tabc= class
Destructor Destroy;override;
....

读书人网 >.NET

热点推荐