Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
Delphi 12 Athens
|
AW: unverständlicher Memoryleak in Funktion
5. Mai 2021, 14:43
Das würde dann funktionieren, wenn TxxxManager.StringsToJSONArray nicht bei jedem Aufruf eine neue Instanz erzeugen würde, sondern eine Property von TxxxManager wäre, die bei jedem Aufruf nur neu befüllt wird. Natürlich muss das dahinterliegende Feld im Destruktor von TxxxManager aber wieder freigegeben werden.
[edit] Alternativ könnte TxxxManager aber auch eine Liste der erzeugten Instanzen pflegen als TObjectList<TJSONArray>. Bei jedem Aufruf von StringsToJSONArray wird das Result dann der Liste hinzugefügt und die Liste im Destruktor wieder freigegeben. Das setzt aber voraus, dass danach nirgends mehr auf so ein Result zugegriffen wird, egal wo. [/edit]
Detlef "Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
Geändert von DeddyH ( 5. Mai 2021 um 14:45 Uhr)
|