Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.034 Beiträge
 
Delphi 12 Athens
 
#9

AW: TStringList als Result einer Funktion

  Alt 20. Aug 2014, 10:41
Man sollte aber im Namen/Dokumentation erwähnen, daß ob die Funktion jedesmal eine TStringList erzeugt, zurückgibt und nicht wieder freigibt
oder ob sich die Funktion die Instanzen merkt und "irgendwann" freigibt
oder ob es eine interne Instanz ist, welche mit der Komponente freigegeben wird. (mehrfacher aufruf und gleichzeitige Auswertungen der Liste nicht möglich)
oder ob der Aufrufer für die Freigabe verantwortlich ist.

Meine naive Meinung: Wers erzeugt gibt auch wieder frei. In diesem Fall ist der Aufrufer der Funktion der Erzeuger.
Erstellt hat die Liste aber die Funktion und nicht der Aufrufer.
Außer man sagt, daß die Funktion eine Liste erstellt und der Aufrufer das dann freigeben soll.

Ich gebe ja auch nicht jedesmal die Liste frei, wenn ich auf Memo.Lines (intern Memo.GetLines) zugreife.


PS: Auch wenn du intern eine TStringList erzeugst ... Es macht sich dennoch oft besser, wenn das Result-Typ ein TStrings ist.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat