如何释放 Pascal 函数的 TStringList?
How to free a Pascal function's TStringList?
我有一个 Pascal 函数,结果是 returns StringList
。如何正确释放它?因为它不是全局变量,所以我无法在 Form.FormDestroy
过程中释放它。返回后释放它也不起作用(虽然应该允许,LOL)。
一般来说,有没有办法在程序关闭后立即释放所有对象(包括窗体无法控制的对象)?
@TomBrunberg 是对的,他的评论解决了问题:
引用返回的 TStringList
并使用该引用释放它:
var
sl: TStringList;
begin
sl := fnThatReturnsAStringList;
UseTheList(sl);
sl.Free;
end;
另一种可能性,如果您只是因为该调用的副作用而调用该函数,对返回的 TStringList
没有任何兴趣,您甚至可以释放它只需调用:
begin
fnThatReturnsAStringList.Free;
end;
我有一个 Pascal 函数,结果是 returns StringList
。如何正确释放它?因为它不是全局变量,所以我无法在 Form.FormDestroy
过程中释放它。返回后释放它也不起作用(虽然应该允许,LOL)。
一般来说,有没有办法在程序关闭后立即释放所有对象(包括窗体无法控制的对象)?
@TomBrunberg 是对的,他的评论解决了问题:
引用返回的 TStringList
并使用该引用释放它:
var
sl: TStringList;
begin
sl := fnThatReturnsAStringList;
UseTheList(sl);
sl.Free;
end;
另一种可能性,如果您只是因为该调用的副作用而调用该函数,对返回的 TStringList
没有任何兴趣,您甚至可以释放它只需调用:
begin
fnThatReturnsAStringList.Free;
end;