Windows 7 类型不匹配VB6错误处理
我在64位Windows7机器上运行一些旧的VB6代码,遇到了一些奇怪的错误 我的代码在这里爆炸了: 我谨此致辞: 此错误处理上面的整个代码部分前面有: 关于错误转到错误陷阱 ErrorTrap是我在上面看到的每个循环中使用的Windows 7 类型不匹配VB6错误处理,windows-7,types,error-handling,vb6,vb6-migration,Windows 7,Types,Error Handling,Vb6,Vb6 Migration,我在64位Windows7机器上运行一些旧的VB6代码,遇到了一些奇怪的错误 我的代码在这里爆炸了: 我谨此致辞: 此错误处理上面的整个代码部分前面有: 关于错误转到错误陷阱 ErrorTrap是我在上面看到的每个循环中使用的 是什么原因导致这种类型不匹配?我的错误必须是一种变体类型:在VB6For-中,必须使用变体完成每个枚举 使用 Dim MyError作为变体 相反。如果您的代码与ADO有关,则可能是此处描述的已知VB6 ADO和Win 7问题:。似乎Win7 Sp1中的TypeLib
是什么原因导致这种类型不匹配?我的错误必须是一种变体类型:在VB6
For
-中,必须使用变体完成每个
枚举
使用
Dim MyError作为变体
相反。如果您的代码与ADO有关,则可能是此处描述的已知VB6 ADO和Win 7问题:。似乎Win7 Sp1中的TypeLib发生了变化,这可能会使在以前的平台上编译的VB6应用程序在Win7上运行时崩溃,或者使在Win7上编译的应用程序在以前的平台上运行时崩溃。链接文章提供了一些解决方案的建议,如果您有源代码,最简单的方法就是在可行的情况下切换到使用后期绑定。变暗作为一种变体应该是最后的选择。如果此数据库引擎是ADODB连接,则MyError应暗显为ADODB.Error
Dim MyError As ADODB.Error
这将提高变体的性能,并让IntelliSense显示可用的方法和属性。