【问题标题】:VB6 IE frame / WebBrowser causing NT.dll errorVB6 IE 框架/WebBrowser 导致 NT.dll 错误
【发布时间】:2011-04-20 08:00:44
【问题描述】:

我们有一个旧版 VB6 应用程序,它在 Windows XP Professional SP 3 上运行良好,直到最近我们添加了一个 IE 框架控件,以便我们可以在表单上显示静态本地 HTML 文件。而且,它工作正常,直到我关闭应用程序。并且,它会(始终如一地)报告以下错误消息:

故障模块 ntdll.dll,版本 5.1.2600.5755,戳记 49901d48

这是 Visual Basic 项目文件中的参考:

对象={EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}#1.1#0; ieframe.dll

我们通过执行以下操作来使用它:

  1. 开发机运行Win7 + Vb6 IDE。
  2. 添加对位于 C:\Windows\SysWow64\ieframe.dll 的“Microsoft Internet Controls”的组件引用
  3. 在设计时在表单上放置一个控件。
  4. 通过调用
    Form.Show vbModal
    以模态方式显示该表单 当我使用默认表单实例
    frmMyForm.Show vbModal
    以及使用本地实例时会发生错误
    Dim MyForm as New frmMyForm<br>MyForm.Show vbModal
  5. 调用 WebBrowser.Navigate "staticPage.html"
  6. 当用户按下按钮时,按钮单击事件返回用户选择并处理表单。
  7. 退出应用程序 -- 这是我得到错误的地方。

我一直在寻找整个网络,并没有找到很多人仍在尝试以这种方式使用 VB6。所以,我想知道是否有人可以在stackoverflow上帮助我。非常感谢任何帮助!

[更新] 而且,情节变厚了。我只使用该 Web 组件制作了一个示例应用程序,以确保它导致了错误。但是,当它关闭时我没有遇到错误,就像我在退出我们现有/旧版 vb6 应用程序时一样。我会做更多的调查。

【问题讨论】:

    标签: vb6 browser ieframe.dll


    【解决方案1】:

    如果遇到同样的问题(原发帖人和我当时是同事),请对此进行跟进...

    应用程序正在使用VBCorLib 库,并且它的一些字符串操作类不正确地使用了直接内存访问。在this VBCorLib forum post阅读更多内容。

    【讨论】:

      【解决方案2】:

      原来问题在于我试图删除浏览器加载的临时文件。现在我已经将删除文件代码移动到表单卸载事件中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-08-03
        • 1970-01-01
        • 1970-01-01
        • 2017-07-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多