also ich bin der Meinung, dass man Objekte auch da wieder freizugeben sollte, wo man sie erzeugt. Ansonsten wird es ziemlich unübersichtlich und man ist am Suchen, wo das erzeugte Objekt wieder freigegebene wird:
Delphi-Quellcode:
procedure FooBar(Strings: TStrings);
begin
Strings.Add('jsbvjdasbjÄ');
Strings.Add('iuerwtrei');
end;
Und der Aufruf:
Delphi-Quellcode:
var
Strings: TStringList;
begin
Strings := TStringList.Create;
try
Foobar(Strings);
// Mach was mit Strings
finally
Strings.Free;
end;
Damit ist auch der Aufrufer der Funktion für das Freigeben verantwortlich und man hat alles zusammen und man muss nicht wild umher scrollen, um den Ort zu finden, wo das Objekt wieder freigegeben wird.