簡單的嘗試..最後的例子,以避免記憶體洩漏

如果在執行期間發生異常,請使用 try-finally 以避免洩漏資源(例如記憶體)。

下面的過程將字串儲存在檔案中,並防止 TStringList 洩漏。

procedure SaveStringToFile(const aFilename: TFilename; const aString: string);
var
  SL: TStringList;
begin
  SL := TStringList.Create; // call outside the try 
  try
    SL.Text := aString;
    SL.SaveToFile(aFilename);
  finally
    SL.Free // will be called no matter what happens above
  end;
end;

無論儲存檔案時是否發生異常,SL 都將被釋放。任何異常都將傳送給呼叫者。