返回对象的问题?
我这里两个函数:
function func1:TBitmap;
var
stream: TStream;
begin
stream:=clientdataset1.CreateBlobStream(clientdataset1.fieldbyname('img'),bmread);
Result:=TBitmap.create;
result.loadfromstream(stream);
stream.free; //这里要不要手动释放。
end;
procedure proc1;
var
b: Tbitmap;
begin
b:=func1;
b.free;//问题在这里,请问这里要不要手动释放b.
end;
如果要释放,因为b和stream都是局部变量,在栈上分配的,为什么要手动释放。
如果不是放,则result充当什么叫色,会不会造成内存泄漏。