Einzelnen Beitrag anzeigen

guidok

Registriert seit: 28. Jun 2007
417 Beiträge
 
#18

Re: VirtualStringTree: Speicherleck

  Alt 1. Nov 2009, 09:39
Zitat von himitsu:
Zitat von generic:
Das Speicherleck kommt von dem String Datentyp.
Er gibt doch aber den String frei und demnach sollte dort auch kein Speicherleck entstehen?
Zitat:
Delphi-Quellcode:
procedure TSettingsForm.vstFreeNode(Sender: TBaseVirtualTree; Node: PVirtualNode);
...
Finalize(NodeData^.Text);
Finalize(NodeData^.Text) sollte NodeData^.Text := ''; entsprechen.
Stimmt himitsu. Ob Finalize(NodeData^.Text); oder NodeData^.Text := ''; das Ergebnis ist das selbe.

Aber:

VT.OnFreeNode wird nur für die Knoten aufgerufen, die auch zur Laufzeit einmal auf dem Bildschirm sichtbar (also aufgeklappt) waren. Daher wird nur ein Teil der Strings freigegeben.
  Mit Zitat antworten Zitat