删除IWTreeViewItems导致异常的形式发布
-
22-07-2019 - |
题
在我的形式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;
此工作。仍处于打开状态更好的解决方案,可能不涉及通过所有子项的循环。
不隶属于 StackOverflow