Ich hatte ja das Problem mit der Data-Eigenschaft von TreeNode. Dort steht jeweils ein zeiger auf eine eigene Klasse drin. Beim Generieren des treeView wird die eigene Klasse instanziiert, also Speicher mit new reserviert.
Den wollte ich jetzt im OnFormDestroy wieder freigeben. Ich durchlaufe also den TreeView und lösche in den einzelnen Knoten das Data Element.
TKnoten *knoten;
for( int i=TreeView1->Items->Count-1; i>=0; i-- ) {
knoten = (TKnoten *) TreeView1->Items->Item[i]->Data;
delete[] knoten;
knoten = NULL;
}
Folge ist ein Totaler Programmabsturz bzw. eine AccessViolation. Wo denke ich falsch? Im Debugger sehe ich den TreeView noch und auch der Zeiger knoten zeigt auf korrekte Daten.
Anders als über die Zeiger in den TreeNode Objekten komme ich an die Instanzen ja nicht mehr dran.
Schon mal danke für Eure Hilfe.
Manfred
Den wollte ich jetzt im OnFormDestroy wieder freigeben. Ich durchlaufe also den TreeView und lösche in den einzelnen Knoten das Data Element.
TKnoten *knoten;
for( int i=TreeView1->Items->Count-1; i>=0; i-- ) {
knoten = (TKnoten *) TreeView1->Items->Item[i]->Data;
delete[] knoten;
knoten = NULL;
}
Folge ist ein Totaler Programmabsturz bzw. eine AccessViolation. Wo denke ich falsch? Im Debugger sehe ich den TreeView noch und auch der Zeiger knoten zeigt auf korrekte Daten.
Anders als über die Zeiger in den TreeNode Objekten komme ich an die Instanzen ja nicht mehr dran.
Schon mal danke für Eure Hilfe.
Manfred
Comment