Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 删除IWTreeViewItems会导致表单发布时出现异常_Delphi_Delphi 2006_Intraweb - Fatal编程技术网

Delphi 删除IWTreeViewItems会导致表单发布时出现异常

Delphi 删除IWTreeViewItems会导致表单发布时出现异常,delphi,delphi-2006,intraweb,Delphi,Delphi 2006,Intraweb,我的表格上有一个IWTreeView和两个按钮。一个按钮删除一些iwtreeviewitem,另一个按钮释放表单: procedure TIWForm1.IWButton1Click(Sender: TObject); begin IWTreeView1.Items[0].Subitems.Clear; end; procedure TIWForm1.IWButton2Click(Sender: TObject); begin Release; end; 删除IWTreeViewIt

我的表格上有一个IWTreeView和两个按钮。一个按钮删除一些iwtreeviewitem,另一个按钮释放表单:

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

procedure TIWForm1.IWButton2Click(Sender: TObject);
begin
  Release;
end;
删除IWTreeViewItems后释放表单会导致异常:

服务器引发的错误消息 应用程序:访问冲突位于 模块中的地址004E0D8A “TryTree.exe”。宣读地址 亿

当另一个表单处于活动状态且此表单版本未终止应用程序时,错误消息为:

服务器引发的错误消息 应用程序:从列表中列出索引 界限-1

使用IntraWeb 9.0.42是因为TMS控件和Delphi 2006,因为TMS没有使用10.0.17和Delphi 2006进行测试


我尝试在表单destroy中使用IWTreeView1.ClearAll,但没有任何帮助。

而不是子项。清除我现在使用

for i := IWTreeView1.Items[0].SubItems.Count-1 downto 0 do begin
    TIWTreeViewItem(IWTreeView1.Items[0].SubItems[i]).Free;
end;
这很有效。仍然可以找到更好的解决方案,可能不涉及所有子项的循环