在方法里的result创建实例后 怎么释放
在方法里的result创建实例后 如何释放?
这个如何释放?还是就不用释放?
------解决方案--------------------
再获得这个返回值的过程中释放。
var
o: tstrings;
begin
o := test;
o.free;
end;
------解决方案--------------------
在调用的地方释放, 最好是在调用时创建; 可以改成这样:
procedure test(var ls: tstringlist);
即在调用前先创建tstringlist,而不是不在test中创建
- Delphi(Pascal) code
function test: tstringlist; begin result := tstringlist.create; end;
这个如何释放?还是就不用释放?
------解决方案--------------------
再获得这个返回值的过程中释放。
var
o: tstrings;
begin
o := test;
o.free;
end;
------解决方案--------------------
在调用的地方释放, 最好是在调用时创建; 可以改成这样:
procedure test(var ls: tstringlist);
即在调用前先创建tstringlist,而不是不在test中创建