千万不要这样做,Delphi中返回一个对象是比较愚蠢的做法,因为对象的生存期无法判断,
同时要做一系列的对象创建判断操作。
老老实实的写这样的函数更好
function aaa(param: TStringList);
begin
Assert(Assigned(param));
param....
end;
caller
var
slist: tstringlist
begin
slist := tstringlist.create;
try
...
aaa(slist);
...
finally
slist.free;
end;
end;