Thema: Delphi VST Speicherleak

Einzelnen Beitrag anzeigen

Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#2

Re: VST Speicherleak

  Alt 23. Feb 2008, 08:27
Hallo Peter,

du solltest auf jeden Fall das Ereignis OnFreeNode behandeln und dort durch einen Aufruf von Delphi-Referenz durchsuchenFinalize die Freigabe des Speichers veranlassen, etwa so:

Delphi-Quellcode:
procedure TForm1.VSTreeNode (Sender: TBaseVirtualTree; Node: PVirtualNode);
var
  NodeData : PTreeData;
begin
  NodeData := Sender.GetNodeData(Node);
  Finalize (NodeData^);
end;
Das Ereignis wird für jeden sichtbaren Knoten automatisch ausgelöst. Es könnte eventuell notwendig sein, schon beim Erzeugen der Knoten einen späteren Aufruf zu erzwingen:

Delphi-Quellcode:
Node := VST.AddChild(nil);
...
VST.InvalidateNode (Node); // erzwingt Aufruf von OnFreeNode bei Freigabe
Gruß Hawkeye
  Mit Zitat antworten Zitat