在VB6中编译DLL时“加载DLL时出错”

时间:2011-12-20 13:48:04

标签: vb6

我有一个使用引用的visual basic 6“.dll项目”,当单击“File-> Make dll”选项时,它应生成一个dll文件。好吧,当点击“File-> Make dll”时,我收到错误“加载DLL时出错”。

如何查看缺少哪些参考文件?

6 个答案:

答案 0 :(得分:2)

在项目下 - >引用。

找一下MISSING这个词:在不存在的dll前面。

答案 1 :(得分:2)

我已经看到当引用的组件被重新编译而没有兼容性但先前版本的dll事先未 未注册时会发生此错误,因此类型库的注册表项不会被删除并且这些伪造注册表项指向新的dll。

通常我使用内部注册表清理工具来处理这些工具,该工具可以根据typelib磁盘位置删除typelibs / clsid / interfaces注册。您可以尝试将引用的项目的物理文件移动到磁盘上的不同位置,并在那里regsvr32,手动删除项目文件中的引用,重新启动IDE并重新打开项目,最后添加引用并检查dll位置是否添加引用对话框指向新文件位置。

答案 2 :(得分:1)

如果您没有MISSING引用,请尝试使用项目兼容性而不是二进制兼容性来编译项目库。当库中有多个库被引用时,VB6可能会与二进制兼容性混淆。

答案 3 :(得分:0)

已经有一段时间但是从顶层菜单 - “项目” - > “参考文献”和遗漏的参考文献通常都是高亮的,或者说它们旁边都有缺失。

答案 4 :(得分:0)

在项目中 - >参考,仔细检查所有参考文献的位置。您的引用可能具有正确的名称,但可能指向同一DLL的另一个实例。

答案 5 :(得分:0)

在2019年,从Excel VBA迁移到VB6的项目中,我的旧XP笔记本电脑出现了相同的错误。我阅读了以上所有答案,但无法解决问题(开始时没有缺少的参考,并且默认库的位置没有太多更改)。实际上解决我的问题的方法有点奇怪。我双击并打开每个表单和Designer模块(实际上是将其组件加载到内存中),然后打开,错误已消失。我尝试重现该错误,并且在再次启动IDE时确实会重新出现。最终弄清楚,其中一种具有大量控制权的庞大用户窗体是罪魁祸首。我无法弄清楚是哪个控件引起了dll错误,但目前工作已完成。