To delete all nodes from a TVirtualStringTree
or its descendant use the Clear
method (but note that the Clear
method is virtual and can be overriden by some descendant. However, the implementer should keep the original purpose of this method, which is clearing the tree. If not, then it's just a wrong implementation in my view:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
VirtualStringTree1.Clear;
end;