You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

创建多个Symbol后遇Automation Error,窗体实例未释放问题求助

解决方向
  • 修正窗体实例的声明与创建方式
    不要使用Dim obfrmGetSymbolName As New frmGetSymbolName这种自动实例化的写法,这种方式会在每次引用变量时自动创建新实例,极易导致多个孤立实例残留。改为手动声明并创建:

    Dim obfrmGetSymbolName As frmGetSymbolName
    Set obfrmGetSymbolName = New frmGetSymbolName
    
  • 使用模态方式显示窗体
    将obfrmGetSymbolName.Show改为obfrmGetSymbolName.Show vbModal,模态窗体会阻塞后续代码执行,直到窗体关闭,能确保你在获取SymbolName时,窗体已经完成交互,避免实例状态混乱。

  • 手动销毁窗体实例
    在不再需要窗体时,必须手动卸载并释放引用,这样才能触发Class_Terminate事件,彻底清理内存中的实例。在循环结束后添加:

    Unload obfrmGetSymbolName
    Set obfrmGetSymbolName = Nothing
    
  • 检查窗体内部的关闭逻辑
    确保窗体的关闭操作(比如点击关闭按钮)执行的是Unload Me,而不是Me.Hide。Hide只是隐藏窗体,实例仍然驻留在内存中,只有Unload才会销毁窗体对象。

内容的提问来源于stack exchange,提问作者bigt95nt0110

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 07:15:41