如何释放 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;