64 ビット Windows 7 マシンで従来の VB6 コードを実行していて、奇妙なエラーが発生しています。
私のコードはここで爆発します:
メッセージ付き:
このエラー処理の上にあるコードのセクション全体の前には、次のものがあります。
エラー時 GoTo ErrorTrap
上記の For Each ループである ErrorTrap 。
このタイプの不一致の原因は何ですか?
64 ビット Windows 7 マシンで従来の VB6 コードを実行していて、奇妙なエラーが発生しています。
私のコードはここで爆発します:
メッセージ付き:
このエラー処理の上にあるコードのセクション全体の前には、次のものがあります。
エラー時 GoTo ErrorTrap
上記の For Each ループである ErrorTrap 。
このタイプの不一致の原因は何ですか?
MyError は Variant 型である必要があります: VB6For
ではEach
、Variant を使用して列挙を行う必要があります。
使用する
Dim MyError As Variant
代わりは。
コードが 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 でコンパイルされたアプリが以前のプラットフォームで実行されたときにクラッシュしたりする可能性があります。リンクされた記事では、解決策の提案がいくつか提供されています。ソース コードがあれば、実行可能な場合は遅延バインディングを使用するように切り替えるのが最も簡単です。