Einzelnen Beitrag anzeigen

Muetze1
(Gast)

n/a Beiträge
 
#20

Re: himXML (gesprochen himixML)

  Alt 15. Apr 2009, 13:41
Zitat von himitsu:
Eine ganze NodeList wollte ich dafür nicht gleich verwenden, denn ansonstenmüßte ich darin entweder das Erstellen/Ändern von Nodes unterbinden oder irgendwie synchronisieren und ein einfaches Array hätte eigentlich doch auch gereicht. :roll:
Hö? Das ist doch sogar sehr einfach. Du reichst in der Liste einfach die Node Instanzen raus, die du findest. Wenn irgendwer diese ändert: Soll er doch - ist doch vollkommen egal, da es die gleiche Instanz ist. Diese Änderungen sind in deiner Struktur drin, da es die gleichen Instanzen sind (um es nochmals zu erwähnen ^^).

Und wenn einer einen Knoten aus der Liste löscht oder freigibt, dann kann sich dieser Knoten doch selbst in seinem Überknoten entfernen. Gleiches hatte ich in meiner Lib auch gemacht - funktioniert einwandfrei. Dadurch war das Knoten löschen recht einfach: einfach freigeben mit .Free und der Knoten samt seinen Unterknoten wird ordentlich freigegeben und die Struktur bei dir im Speicher ist aktuell. Was will man mehr? Das ist doch gerade das schöne an OOP und den Instanzen.

Zitat von himitsu:
Das Ganze wollte ich ja auch noch "möglichst" Schlank halten :angel
Jo, ein Extract()-Aufruf in der Knotenliste des Vaterknoten im Destruktor der Knoten.

Zitat von himitsu:
und Aufgrund der Speicherverwaltung nur mit Objekten ist es garnicht so leicht möglich extra eine NodeList dafür zu verwenden, denn wie soll diese wieder freigegeben werden?
Oh und gerade deshalb ja.

Objekte sollten immer auf der gleichen Ebene freigegeben werden wo sie auch alloziiert werden. Also kannst du schonmal keine Rückgabeliste erzeugen, also bekommst du eine vom Nutzer übergeben. Der legt sie an und gibt sie auf der gleichen Ebene wieder frei.

Schau dir doch einfach meine Lib an in Sachen Objektverwaltung - zur Not kopier es dir sogar. Die Lib ist (öffentlich) tot und du kannst dich frei bedienen.
  Mit Zitat antworten Zitat