Article Index

OnFreeNode doit être implémenté pour libérer la mémoire

Quand on utilise un virtual treeview on devrait avoir un gestionnaire d'événement pour OnFreeNode chargé de libérer les ressources associées au record de chacun des noeuds. Le code le plus simple est le suivant :

procedure TMyForm.vstMyTreeFreeNode(Sender: TBaseVirtualTree; Node: PVirtualNode);
var
  Data : PMyRecord;
begin
  Data := Sender.GetNodeData(Node);
  Finalize(Data^);
end;

C'est la meilleure façon de procéder puisqu'on laisse faire la méthode prévue par Delphi pour libérer les ressources utilisées par un record.