J
jobsxy
Unregistered / Unconfirmed
GUEST, unregistred user!
下面这个函数是返回流,但在使用中出现个不太好理解的问题:
function abc(id:integer): TMemoryStream;
var
vStream: TmemoryStream;
begin
vStream:= TmemoryStream.Create;
vStream := NIL;
try
with adodataset1 do
begin
.........
XXX.savetostream(vStream);
end;
finally
adodataset1.close;
vStream.free
//如果我屏蔽了这一句,那这段函数就可以正常执行了,
//但没有释放了资源,这样做下去会不会有内存泄漏?
end;
Result := vStream;
end;
function abc(id:integer): TMemoryStream;
var
vStream: TmemoryStream;
begin
vStream:= TmemoryStream.Create;
vStream := NIL;
try
with adodataset1 do
begin
.........
XXX.savetostream(vStream);
end;
finally
adodataset1.close;
vStream.free
//如果我屏蔽了这一句,那这段函数就可以正常执行了,
//但没有释放了资源,这样做下去会不会有内存泄漏?
end;
Result := vStream;
end;