当前位置:  开发笔记 > 后端 > 正文

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

如何解决《什么可能导致Vb6运行时错误430》经验,为你挑选了1个好方法。

我有一个用vb6编写的COM dll.当我尝试从此dll创建类模块的新对象时,我得到一个运行计时器错误430:类不支持自动化或不支持预期的接口.有趣的是,这只发生在IDE外部,当我在IDE中进行调试时,没有抛出错误,并且成功创建了类的新对象.可能是什么原因?

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



1> RS Conley..:

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

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

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

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有