I found this page on the wiki...
https://wiki.lazarus.freepascal.org/TTreeViewI used the code suggested to delete all nodes.
Get an error. saying...
TreeView1.Items.Delete(Node) (--> NOT FOUND)
And yet, my control's name is TreeView1
Why does it say not found?
Obviously wiki is missing some code.
//A procedure to recursively delete nodes
procedure DeleteNode(Node:TTreeNode);
begin
while Node.HasChildren do
begin
DeleteNode(node.GetLastChild);
TreeView1.Items.Delete(Node); //<-- ERROR
end;
end;
procedure TForm1.mnuNewClick(Sender: TObject);
var
Node:TTreeNode;
begin
if TreeView1.Selected = nil then
exit;
//if selected node has child nodes, first ask for confirmation
if treeview1.Selected.HasChildren then
if messagedlg( 'Delete node and all children ?',mtConfirmation, [mbYes,mbNo],0 ) <> mrYes then
exit;
DeleteNode(TreeView1.Selected);
//add a new root node - I added this code
Treeview1.Items.Add (nil,'Root Node');
end;
Thanks
end;