代码之家  ›  专栏  ›  技术社区  ›  Ralph M. Rickenbach

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

  •  0
  • Ralph M. Rickenbach  · 技术社区  · 17 年前

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

    删除IWTreeViewItems后释放表单会导致异常:

    应用程序:访问冲突位于 模块中的地址004E0D8A 00000000

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

    服务器引发的错误消息 界限(-1)

    使用IntraWeb 9.0.42(由于TMS控件和Delphi 2006,因为TMS尚未使用10.0.17和Delphi 2006进行测试)。

    我试图以销毁的形式查看1.ClearAll,但毫无帮助。

    1 回复  |  直到 17 年前
        1
  •  0
  •   Ralph M. Rickenbach    17 年前

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

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

    这很有效。仍然可以找到更好的解决方案,可能不涉及所有子项的循环。