-1

我在 64 位 Windows 7 机器上运行一些旧的 VB6 代码,并且遇到了一些奇怪的错误。

我的代码在这里爆炸:

在此处输入图像描述

留言:

在此处输入图像描述

此错误处理上方的一整段代码前面是:

出错时转到 ErrorTrap

ErrorTrap 是我上面看到的 For Each 循环。

是什么导致这种类型不匹配?

4

2 回答 2

4

MyError 必须是 Variant 类型:在 VB6 中For-Each必须使用 Variant 进行枚举。

采用

Dim MyError As Variant

反而。

于 2013-06-07T14:54:04.313 回答
2

如果您的代码与 ADO 有任何关系,那么它可能是此处描述的已知 VB6 ADO 和 Win 7 问题:http: //social.msdn.microsoft.com/Forums/en-US/windowsgeneraldevelopmentissues/thread/3a4ce946-effa- 4f77-98a6-34f11c6b5a13。似乎 Win7 Sp1 中的类型库发生了变化,这可能会使在以前的平台上编译的 VB6 应用程序在 Win 7 上运行时崩溃,或者在 Win 7 上编译的应用程序在以前的平台上运行时崩溃。链接的文章提供了一些解决方案的建议,如果您有源代码,最简单的建议是在可行时切换到使用后期绑定。

于 2013-06-12T13:28:07.000 回答