我们有一个遗留的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
我们通过执行以下操作来使用它:
Form.Show vbModal
以模态方式显示该表单当我使用默认表单实例frmMyForm.Show vbModal
以及使用本地实例Dim MyForm as New frmMyForm
MyForm.Show vbModal
我一直在寻找网络,并且还没有找到很多人仍然试图以这种方式使用VB6。所以,我想知道是否有人可以在stackoverflow上帮助我。非常感谢任何帮助!
[更新]并且,情节变浓。我使用该Web组件制作了一个示例应用程序,以确保它导致错误。但是,当它关闭时,我没有像退出现有/旧版vb6应用程序时那样遇到错误。我会做更多的调查。
答案 0 :(得分:1)
如果碰到同一个问题(原始海报和我当时的同事),请跟进此事......
应用程序正在使用VBCorLib库,并且它的一些字符串操作类错误地使用了直接内存访问。阅读更多this VBCorLib forum post。
答案 1 :(得分:0)
事实证明,问题是我试图删除浏览器加载的临时文件。它现在工作,我已将删除文件代码移动到表单卸载事件。