AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi TObjectList - Speicherfreigabe "rekursiv"?

TObjectList - Speicherfreigabe "rekursiv"?

Ein Thema von TheMiller · begonnen am 23. Dez 2009 · letzter Beitrag vom 23. Dez 2009
Antwort Antwort
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#1

TObjectList - Speicherfreigabe "rekursiv"?

  Alt 23. Dez 2009, 16:46
Hallo,

mal eine kleine Frage zur automatischen Freigabe des Speichers durch die TObjectlist. Ich habe ein Object, abgeleitet von der TObjectList (O1), ein Objekt von TObject (O2) und noch ein Objekt von der TObjectList (O3).

Nun sieht die Hierarchie folgendermaßen aus:

Code:
O1 (Kategorienliste)
 |->O2 (Spezielle Kategorie)
     |->O3 (Eintrag)
 |->02
     |->03
 |->02
     |->03
 ...
Wenn ich die Daten nun aktualisieren muss, weil ich zB eine Kategorie lösche, lese ich den Inhalt der DB neu aus und erhalte somit eine komplett neue Kategorienliste.

Also möchte ich ganz einfach die O1.Clear eingeben. Meine Frage ist jetzt, ob nun auch die O2s und O3s freigegeben werden, oder ob ich erst alle O3s, dann alle O2s und dann erst O1 freigeben muss.

Vielen Dank
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#2

Re: TObjectList - Speicherfreigabe "rekursiv"?

  Alt 23. Dez 2009, 16:49
Das geschieht doch automatisch. TObjectList gibt jedenfalls den Speicher der darin enthaltenen Objekte selbstständig frei. Bei TObjekt musst du halt noch im Destructor die TObjectList freigeben. Das wars.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: TObjectList - Speicherfreigabe "rekursiv"?

  Alt 23. Dez 2009, 16:53
O2 muß einfach nur in seinem Destruktor O3 freigeben.

[edit]
wo kommt denn der Eintrag plötzlich her

nja, doppelt hält besser
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#4

Re: TObjectList - Speicherfreigabe "rekursiv"?

  Alt 23. Dez 2009, 17:17
Dankesehr!
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz