加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

com – 什么可能导致Vb6运行时错误430

发布时间:2020-12-17 00:25:26 所属栏目:大数据 来源:网络整理
导读:我有一个COM dll写在vb6.当我尝试从这个dll创建一个类模块的新对象时,我得到一个运行定时器错误430:类不支持自动化或不支持预期的接口.有趣的是,这只发生在IDE外部,当我从IDE中调试时,没有抛出错误,并且类的新对象已经成功创建.可能是什么原因? 一般来说,
我有一个COM dll写在vb6.当我尝试从这个dll创建一个类模块的新对象时,我得到一个运行定时器错误430:类不支持自动化或不支持预期的接口.有趣的是,这只发生在IDE外部,当我从IDE中调试时,没有抛出错误,并且类的新对象已经成功创建.可能是什么原因?

一般来说,我偶尔会在COM DLL中得到这些错误.调试COM问题的最佳方法是什么?当程序运行时,我如何知道正在使用的dll的路径?

如果这个项目完全在VB6中.可能的原因是EXE在其目录中有一个DLL二进制文件的副本.当你开火时,它使用该副本而不是编译的副本.当您的ADD方法或EXE与旧的DLL不兼容的类时.如果你做了一个bug修复或只是使用内部代码,然后EXE将运行,但它使用旧的DLL.

将您的DLL设置为二进制兼容性.
确保你有一个兼容的目录.
把最后一个版本的DLL放在那里.
将二进制兼容性指向该DLL.
确保你的EXE编译到它的项目目录.
从它的项目目录运行EXE.这样它会使用您编译的DLL.
您需要编写一个实用程序,以便您可以分别编译每个项目.
使用虚拟PC或其他计算机测试您的设置.

所有这些步骤将有助于避免DLL Hell.我自己的项目有6个ActiveX项目6层.当我采用上面我的DLL地狱问题几乎没有什么.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读