Jetzt hast du aber ein Problem. wo gibst du das Objekt wieder frei? In der Funktion? dann kannst du es nicht zurückgegebn. Ich würde das Objekt als
out Parameter übergeben.
Delphi-Quellcode:
procedure foo(out sl: TStrings);
begin
sl.Add('Hello');
sl.Add('world');
end;
procedure TForm1.Button1Click(Sender: TObject);
var
sl: TStrings;
begin
sl := TStringList.Create;
try
foo(sl);
ShowMessage(sl.Text);
finally
FreeAndNil(sl);
end;
end;