类型不匹配VB6错误处理

时间:2013-06-07 14:52:51

标签: windows-7 types error-handling vb6 vb6-migration

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

我的代码在这里爆炸:

enter image description here

带有消息:

enter image description here

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

  

On Error GoTo ErrorTrap

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

导致此类型不匹配的原因是什么?

2 个答案:

答案 0 :(得分:4)

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

使用

Dim MyError As Variant

代替。

答案 1 :(得分: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上运行的应用程序在先前平台上运行时崩溃。链接的文章提供了一些解决方案的建议,如果您有源代码,最简单的方法是切换到可行时使用后期绑定。