从VB6 exe调试VB6 dll

Dev*_*erM 3 vb6 dll

我有一个VB6程序调用VB6 DLL,后者又调用另一个VB6 DLL.当我执行调用程序时,有一个应用程序错误,我无法查明,所以我研究了如何可以"看到"dll中的错误.

我读了关于调试VB6 dll的 Stackoverflow条目问题

并遵循Booji Boy的指示创建一个vbg.我也按照他的指示从参考列表中删除了两个DLL.调用程序将.txt文件作为输入.当我执行exe时,我收到了这个错误:

错误号码:13说明:类型不匹配

应用程序未生成错误.

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

Mar*_*haw 7

您必须拥有EXE和两个DLL的所有源代码.您将所有项目添加到单个组文件即VBG中.您必须在EXE项目中引用第一个DLL.我不知道为什么你被告知你必须删除它们.您必须在第一个DLL项目中引用第二个DLL项目.VB非常聪明,可以用项目引用静默替换DLL引用.如果从项目组中删除DLL项目,也可以使用DLL引用静默替换项目引用.

确保将错误处理设置为"Break on All Errors"或"Break in Class".

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

Set myObject = someOtherObject

......看起来它们应该是同一类型,这可能会变得非常复杂.但首先,我会让你做调试.