gpt4 book ai didi

dll - 从 VB6 exe 调试 VB6 dll

转载 作者:行者123 更新时间:2023-12-04 14:33:17 25 4
gpt4 key购买 nike

我有一个 VB6 程序,它调用一个 VB6 DLL,后者又调用另一个 VB6 DLL。当我执行调用程序时,出现了一个我无法确定的应用程序错误,因此我研究了如何“看到”dll 中的错误。

我阅读了 Stackoverflow 条目 question about debugging VB6 dll

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

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

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

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

最佳答案

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

确保您将错误处理设置为“Break on All Errors”或“Break in Class”。

类型不匹配错误可能来自简单的事情,例如将非数字字符串分配给数字变量。如果您正在传递对象引用,它会变得更加复杂。如果您看到此错误发生在以下情况:
Set myObject = someOtherObject
...看起来它们应该是相同的类型,这可能会变得非常复杂。但首先,我会让你进行调试。

关于dll - 从 VB6 exe 调试 VB6 dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7972846/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com