读书人

这样会内存泄漏吗?解决方案

发布时间: 2012-02-11 09:51:34 作者: rapoo

这样会内存泄漏吗?
TTest=class
public
x:integer;
Constructor Create();
Destructor Destroy;override;
end;

constructor TTest.Create;
begin
x:=8;

end;

destructor TTest.Destroy;
begin
showmessage( 'ok ');
inherited;
end;

主程序中:
showmessage(inttostr(TTest.Create().x));

我看过,这样生成的对象不会调用Destroy,会不会造成内存泄漏??(如果TTest含有指针的话)

[解决办法]
答案是肯定的, 必须Free

[解决办法]
with TTest.Create() do
begin
showmessage(inttostr(x))
Free();
end;
[解决办法]
Create以后 必须Free

读书人网 >.NET

热点推荐