![]() |
Re: TList - Fragen zur Speicherverwaltung
Was speicherst du in der TList?
Wenn es Objekte sind solltest du lieber TObjectList nehmen. Diese kann auch die Objekte wieder freigeben. s.H. Constructor -> owns muss auf true sein. |
Re: TList - Fragen zur Speicherverwaltung
Ich kann den Antwortern eigentlich nur bedingt zustimmen.
Das Freigeben der Objekte in der TList muss man abhängig von dem Objekt machen, an dem TList hängt. Ist TList in einer Klasse definiert, dann TList aufräumen, wenn diese Klasse sich gerade in Rauch auflöst, wäre wie hier schon richtig angegeben im OnDestroy des Forms. Ist TList aber als Variable in der Unit definiert, dann sollte die Freigabe im Abschnitt finalization erfolgen. Objekte in einer (wie hier verwendeten) TList müssen beim Beenden nicht zwangsläufig manuell aus dem Speicher entfernt werden. Bei einigen Klassen kann ich ja beim Erzeugen auch einen Owner mitgeben TIdFTP.Create( AOwner : TComponent ). Habe ich dieses gemacht, so wird dieses erzeugte Objekt beim Entfernen von Owner auch automatisch aus dem Speicher geschmissen. Zitat:
cu Oliver |
Re: TList - Fragen zur Speicherverwaltung
Zitat:
|
Re: TList - Fragen zur Speicherverwaltung
Zitat:
Das Freigeben von angehängten Objekte kann nur TObjectList. |
Re: TList - Fragen zur Speicherverwaltung
Ich sehe, wir meinen das gleiche.
Deswegen muss man es (alles angehängte) ja in Destroy freigeben. |
Re: TList - Fragen zur Speicherverwaltung
Ich glaube, Sir Rufo hat den Satz
Zitat:
|
Re: TList - Fragen zur Speicherverwaltung
Zitat:
Ich hab überlegt, Objekte zu nehmen, habe aber keine Lust auf Typecastings. |
Re: TList - Fragen zur Speicherverwaltung
Bei records musst du doch auch von einem Pointer auf ein PRecord casten :gruebel:
Ich würde lieber gleich Klassen nehmen. Erstens hast du dann den Vorteil von TObjectlist. Zweitens kannst du dann jederzeit noch Methoden ergänzen, oder gar eine Ableitung deiner ersten Klasse speichern. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz