这样会内存泄漏吗?

LWWANDVB 2007-06-17 12:07:27
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含有指针的话)
...全文
163 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
huzhangyou 2007-06-17
  • 打赏
  • 举报
回复
Create以后 必须Free
ahjoe 2007-06-17
  • 打赏
  • 举报
回复
with TTest.Create() do
begin
showmessage(inttostr(x))
Free();
end;
阿发伯 2007-06-17
  • 打赏
  • 举报
回复
答案是肯定的, 必须Free
LWWANDVB 2007-06-17
  • 打赏
  • 举报
回复
明白了 强哥这招,好。
LWWANDVB 2007-06-17
  • 打赏
  • 举报
回复
奇怪,我看过FAST REPORT的代码。
人家是:
if TDialog.Create(nil).ShowModal()=mrok then
...

就这样一句,会不会showModal之后是释放了窗体的内存呢?

16,742

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧