【发布时间】:2012-09-20 11:41:20
【问题描述】:
在我的源代码中,我经常看到并使用这样的结构:
with TSQLDataSet.Create(nil) do try
//Dosomething, get a result from a query.
finally
Free;
end;
但我也经常看到建筑:
with TSQLDataSet.Create(nil) do begin
//Dosomething, get a result from a query.
end;
如果我使用 with 构造创建对象,我需要释放它们还是在 with 块的末尾自动释放它们?
【问题讨论】:
-
我严重怀疑您是否“经常”看到后一个版本。
-
@Andreas - 好点。但这是可能的,如果使用 body 将对象连接到某个容器。或使用非零构造函数参数
-
如果你拥有它,你必须释放它,或者将所有权传给你。
标签: delphi delphi-7 pascal with-statement