Aber wie soll man den Speicher dieser StringList wieder freigeben?
Indem man Free benutzt?
Delphi-Quellcode:
procedure TForm1.tsProcessListsShow(Sender: TObject);
var
sl: TStringList;
begin
sl := Quick.Process.GetProcessList;
try
sl.Sort;
//CodeSite.Send('TForm1.tsProcessListsShow: sl', sl);
lstProcesses.Items.Assign(sl);
finally
sl.Free;
end;
end;
Dies scheint ein konzeptioneller Fehler zu sein
Aber wenn eine Funktion etwas "erstellt" und der Aufrufer es wieder freigeben muß, dann würde ich soeine Funktion eher "Create" nennen, anstatt "Get",
oder mir einen anderen Typen als Result raussuchen, bzw. wie beim Assign/AddStrings die StringList nicht erstellen, sondern nur befüllen.