1

VB6 でアクティブな x exe を作成し、VB.NET 内から使用しようとしました。

変数を宣言する方法がわからないことを除いて、これまでのところすべて正常に機能しています。私が得ているエラーは、「int16 型のオブジェクトは int32 型と互換性がありません」です。

ActiveX exe の関数は次のとおりです。

Public Function GetMessages(ByRef uKeyCode() As Integer, ByRef uMouseButton() As Integer, ByRef uDown() As Boolean, ByRef uInjected() As Boolean, ByRef uExtraInfo() As String, ByRef uX() As Long, ByRef uY() As Long, ByRef uWheelDelta() As Long, ByRef uTime() As Long) As Long

渡ってみた

Dim iKeyCodes() As Integer

この関数にも

Dim iKeyCodes() As Int16

しかし、それはうまくいきませんでした。

誰かが正しい宣言を教えてもらえますか?

4

1 に答える 1

1

コンバージョンは次のとおりです。

  • ShortVB6-Integer は、値が -32,768 ~ 32,767 の範囲の符号付き 16 ビット (2 バイト) 整数を保持する VB.NET と同等です。
  • VB6-Long はInteger、値が -2,147,483,648 から 2,147,483,647 の範囲の符号付き 32 ビット (4 バイト) 整数を保持する VB.NET と同等です。
于 2013-09-20T13:23:50.543 に答える