Ich bin auch überhaupt kein Freund von Funktionen, die Objektinstanzen zurückgeben, welche innerhalb der Funktion angelegt werden. Ich finde ihn gerade nicht, aber wir hatten hier mal einen Thread, wo ungefähr Folgendes gemacht wurde:
Delphi-Quellcode:
function ReturnsStrings: TStrings;
begin
Result := TStringlist.Create;
...
end;
for i := 0 to ReturnsStrings.Count - 1 do
Bearbeite(ReturnsStrings[i]);
Klar, mit einer einfachen Zwischenvariablen wäre das Problem vom Tisch, aber hätte man gleich eine Prozedur mit einem TStrings-Parameter daraus gemacht, wäre der obige Code so gar nicht möglich gewesen.