Pues esto, estoy tratando de eliminar todos los nodos hijos de un nodo padre en un Treeview, primera vez que me sucede con este problema, en el código recorro todos los nodos y verifico si es un nodo padre y tiene hijos entonces procedo a eliminarlos, pero me da un error extraño de "Invalid Index", pero aún así me elimina todos los hijos sin problema, dejo el código para que me echen una manita a ver en qué estoy fallando:
procedure cleanTreeNodes(Tree: TTreeView); var p,h: integer; begin for p := 0 to Tree.Items.Count -1 do begin if (Tree.Items[p].Parent = nil) And (Tree.Items[p].Count > 0) then for h := 0 to Tree.Items[p].Count -1 do Tree.Items[p].DeleteChildren; end; end;
Saludos.