首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从VB6 exe调试VB6 dll

从VB6 exe调试VB6 dll
EN

Stack Overflow用户
提问于 2011-11-01 21:00:37
回答 3查看 12.5K关注 0票数 4

我有一个VB6程序,它调用一个VB6 DLL,然后调用另一个VB6 DLL。当我执行调用程序时,有一个应用程序错误,我无法确定,所以我研究了如何在dll中“看到”错误。

我读了堆栈溢出条目关于调试VB6 dll的问题

按照Booji to我也按照他的指示,从他的参考列表中删除了两个DLL。调用程序以一个.txt文件作为输入。当我执行exe时,我收到了以下错误:

错误号:13描述:类型错配

错误不是由应用程序生成的。

这是什么意思?如何调试此问题?

EN

回答 3

Stack Overflow用户

发布于 2011-11-01 21:36:23

您必须拥有EXE和两个DLL的所有源代码。将所有项目添加到单个组文件中,即VBG。必须在EXE项目中引用第一个DLL。我不知道为什么有人告诉你要把它们移走。必须在第一个DLL项目中引用第二个DLL项目。VB很聪明,可以悄悄地将DLL引用替换为项目引用。如果从项目组中删除DLL项目,则还可以悄悄地将项目引用替换为DLL引用。

确保将错误处理设置为“在所有错误上中断”或“在类中中断”。

类型不匹配错误可能发生在简单的事情上,例如将非数字字符串赋值给数值变量。如果要传递对象引用,则会变得更加复杂。如果您看到这样的错误发生在以下情况:

Set myObject = someOtherObject

..。看起来它们应该是相同的类型,这可能会变得非常复杂。但首先,我将让您进行调试。

票数 8
EN

Stack Overflow用户

发布于 2018-04-21 19:56:31

您可以使用在VisualBasic6.0中生成的开源项目。它被称为"德巴基v2".This项目,它具有多个角色:

-debugger -disassembler -Windows资源提取器-file十六进制编辑器-window sniffer -API间谍

都变成一团了。我可能对你所需要的有用。

票数 0
EN

Stack Overflow用户

发布于 2018-05-10 19:44:38

在VBG中开始工作时,如果库引用不一致,可能会出现类型不匹配。一个库可以在VBG中引用另一个库;另一个库可以引用已编译的版本。在它们之间传递对象会导致此错误。

具体例子:

  • VBG包含用于: A.DLL、B.DLL、C.DLL的代码
  • 参考文献B在VBG中
  • C参考资料B,已编制
  • A中的代码调用C中的代码,传递由B中的类定义的对象。
  • 类型失配

C应该在VBG中引用B。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7972846

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档