在我的形式I具有IWTreeView和两个按钮。一个按钮删除一些IWTreeViewItems,其他版本的形式:

procedure TIWForm1.IWButton1Click(Sender: TObject);
begin
  IWTreeView1.Items[0].Subitems.Clear;
end;

procedure TIWForm1.IWButton2Click(Sender: TObject);
begin
  Release;
end;

释放删除IWTreeViewItems后的形式导致异常:

  由凸起

错误消息   应用程序:访问冲突在   模块解决004E0D8A   'TryTree.exe'。阅读地址   00000000

当存在另一形式的活性和应用程序不是由这种形式的释放结束,则错误信息是:

  由凸起

错误消息   应用:列表索引的   界限(-1)

使用的IntraWeb 9.0.42(因为TMS控制和Delphi 2006中的,如TMS未与10.0.17和Delphi 2006测试)。

我试图在形式IWTreeView1.ClearAll破坏,这并没有帮助的。

有帮助吗?

解决方案

相反SubItems.Clear的我现在使用

for i := IWTreeView1.Items[0].SubItems.Count-1 downto 0 do begin
    TIWTreeViewItem(IWTreeView1.Items[0].SubItems[i]).Free;
end;

此工作。仍处于打开状态更好的解决方案,可能不涉及通过所有子项的循环。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top