关于对象的释放(100分)

  • 主题发起人 主题发起人 xxhadsg
  • 开始时间 开始时间
X

xxhadsg

Unregistered / Unconfirmed
GUEST, unregistred user!
我有两个函数:
function A():TADODataSet;
begin
Result:=TADODataSet.Create(nil);
end;

procedure B();
var
aDataSet:TADODataSet;
begin
aDataSet:=A();
//...
end;
请问在过程B中,我要不要释放对象aDataSet?
比如:
try
aDataSet:=A();
//...
finally
aDataSet.Free;
end;

谢谢,好像Delphi高版本中可以自动回收?大侠指点一下吧.
 
应该需要释放吧。
 
需要手动释放,安全第一.
 
要看你具体的程序了。这里 aDataSet:=A(); aDataSet实际是指向对象实例的指针。
 
当然需要释放。aDataSet指向了内存中实际create的那个对象,释放了aDataSet,就把那个对象释放了
 
需要释放。因为最后的所有操作都隐射到.dll文件上,无论是com,ocx,odbc 等等!
 
勤快一点,释放
 
谢谢,接分!
 
后退
顶部