Ben*_*iss 3 delphi delphi-7 virtualtreeview tvirtualstringtree
我想浏览VirtualTreeView的所有根并删除它们.
我不想清除它.
我使用此代码获取访问冲突:
var
Node : PVirtualNode;
begin
if VirtualStringTree1.GetFirst = NIL then exit;
Node := NIL;
repeat
if Node = NIL then
Node := VirtualStringTree1.GetLast
else Node:=VirtualStringTree1.GetPrevious (Node);
if Node <> NIL then VirtualStringTree1.DeleteNode(Node);
until Node = VirtualStringTree1.GetFirst;
end;
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助.
Ond*_*lle 10
您的实现中存在逻辑错误:删除节点后,您的局部变量Node
指向不存在的节点.
我不明白为什么你不想只清除树,但你可以从上到下删除所有节点,如下所示:
var
Node, TmpNode: PVirtualNode;
begin
Node := Tree.GetLast;
while Assigned(Node) do
begin
TmpNode := Tree.GetPrevious(Node);
Tree.DeleteNode(Node);
Node := TmpNode;
end;
end;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3043 次 |
最近记录: |