Forum: Programmieren allgemein
by jaenicke,
6. Okt 2016
Das stimmt nicht, zumindest nicht mit der aktuellsten Version (mit der ich es getestet hatte). Bei der Freigabe der Tree wurde auch OnFreeNode aufgerufen.
Forum: Programmieren allgemein
by jaenicke,
5. Okt 2016
Dein Delphi ist nicht zu alt, aber deine VST Version vermutlich. Hast du die neu aus dem Repository ausgecheckt? (Das würde ich sehr empfehlen.)
Alternativ kannst du natürlich auch die nicht-generische Version von GetNodeData benutzen und auf die Klasse casten um Free aufzurufen.
Wenn du Klassen nutzt und diese nur erstellst und nicht freigibst, ja.
Forum: Programmieren allgemein
by jaenicke,
5. Okt 2016
Bei Klassen? Das ist in meinem Beispiel ja dabei.
Wird das Formular nur geschlossen oder auch freigegeben?
Forum: Programmieren allgemein
by jaenicke,
5. Okt 2016
Der Punkt bei der späteren Initialisierung ist, dass du aus dem Index eines Knotens die dazu gehörenden Daten herausfinden können musst.
Dafür brauchst du in der Regel eine dahinterliegende Datenstruktur, aus der du die Daten dann holen kannst. Die Frage ist wie viel Zeit du brauchst um diese Datenstruktur zu initialisieren. Wenn das sehr schnell geht, ist der Weg in der Tat gut machbar.
Forum: Programmieren allgemein
by jaenicke,
5. Okt 2016
Es geht noch einmal deutlich schneller, wenn du mit Klassen statt mit Records arbeitest. Beim Hinzufügen wie du es jetzt machst wird der Record einmal bei der Übergabe an AddVSTStructure und einmal beim Zuweisen an den Knoten komplett kopiert.
Wenn du hingegen eine Klasse benutzt, wird nur der Pointer kopiert. Damit habe ich 1 Million Einträge in 2 Sekunden hinzugefügt. Komplettes...