Einzelnen Beitrag anzeigen

Benutzerbild von Zacherl
Zacherl

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

AW: VirtualStringTree - Speicher freigeben

  Alt 24. Mär 2015, 15:57
Dein Record welcher die Daten hält, enthält diese lange Strings?

Wenn ja musst du diese per Hand freigegeben, da Delphi den Speicher des Records nicht selbst verwaltet und daher die String nicht freigeben kann.
Ich verweise nochmal auf den Code im OnFreeNode Event
Delphi-Quellcode:
procedure TForm1.VSTFreeNode(Sender: TBaseVirtualTree; Node: PVirtualNode);
var
  Data: PTreeData;
begin
  Data := Sender.GetNodeData(Node);
  Finalize(Data^);
end;
Das Finalize sorgt dafür, dass auch Strings, dynamische Arrays, etc. im verwendeten Record freigegeben werden.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat