-1

64 ビット Windows 7 マシンで従来の VB6 コードを実行していて、奇妙なエラーが発生しています。

私のコードはここで爆発します:

ここに画像の説明を入力

メッセージ付き:

ここに画像の説明を入力

このエラー処理の上にあるコードのセクション全体の前には、次のものがあります。

エラー時 GoTo ErrorTrap

上記の For Each ループである ErrorTrap 。

このタイプの不一致の原因は何ですか?

4

2 に答える 2

4

MyError は Variant 型である必要があります: VB6Forでは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 に答える