VB.NET使用VB6编程的activex exe(类型不匹配)

时间:2013-09-20 13:12:57

标签: vb.net vb6

我在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

但那没用。

有人可以告诉我正确的声明吗?

1 个答案:

答案 0 :(得分:1)

以下是您的转换:

  • VB6-Integer相当于VB.NET Short,它保存有符号的16位(2字节)整数,其值范围为-32,768到32,767。
  • VB6-Long相当于VB.NET Integer,它保存有符号的32位(4字节)整数,其值范围为-2,147,483,648到2,147,483,647。