Wie jetzt? Ist der Rückgabeparameter vom Typ TStringList oder verwendest du eine TStringList nur intern um einen Rückgabewert (String?) zu erstellen?
Edit:
Mal ein paar Vorlagen für die verschiedenen Fälle.
Hier, wenn eine Stringliste gefüllt werden soll. TStrings anstatt TStringList zu nehmen ist hier wohl besser bzw. allgemeiner.
Man muss sich um die Erzeugung oder Freigabe innerhalb der Funktion nicht kümmern, dafür aber außerhalb.
Delphi-Quellcode:
procedure ABC(AList: TStrings);
begin
// Tue etwas mit AList
end;
Wenn sie nur intern benötigt wird.
Delphi-Quellcode:
function ABC: String;
var
LList: TStringList;
begin
LList := TStringList.Create;
try
// Tue etwas mit LList
Result := LList.Text; // Wenn gewünscht
finally
LList.Free;
end;
end;
Wenn sie von der Funktion erstellt und als Rückgabewert benutzt wird.
Dies ist aber glaube ich nicht so gerne gesehen. Man muss sich nach dem Aufruf dieser Funktion nämlich um die Freigabe der Stringliste kümmern.
Delphi-Quellcode:
function ABC: TStringList;
begin
Result := TStringList.Create;
try
// Tue etwas mit Result
except
Result.Free;
raise;
end;
end;