Einzelnen Beitrag anzeigen

Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#6

AW: VirtualStringTree - Speicher freigeben

  Alt 23. Mär 2015, 11:03
Finalize solltest du nie aufrufen müssen, da die VST sich um den Speicher kümmert.
Das stimmt nicht. Finalize musst du bei Verwendungs von Records im VST die beispielsweise Strings erhalten auf jeden Fall verwenden.

Ich habe eine Ahnung, warum du Memory leakst. Enthält dein VST zufällig Nodes von denen einige zur Laufzeit niemals sichtbar sind? VST ruft nämlich das OnFreeNode Event nur dann auf, wenn die entsprechende Node vorher validated war. Validiert wird die Node aber erst, wenn sie mindestens einmal gezeichnet wurde.

Hatte dieses Problem vor einigen Jahren auch schonmal. Da mein Datensatz nicht wirklich groß war, habe ich einfach alle Nodes per Hand nach dem Hinzufügen mit der ValidateNode Methode validiert. Kann dir aber nicht sagen, wie sich das bei sehr großen Datenmengen auf die Performance auswirkt.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)

Geändert von Zacherl (23. Mär 2015 um 11:09 Uhr)
  Mit Zitat antworten Zitat