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.