Vb.net DLL调用时的空引用

Vb.net DLL调用时的空引用,vb.net,nullreferenceexception,Vb.net,Nullreferenceexception,这个错误已经困扰我好几天了。我100%确定这行代码是导致错误的原因: g_Handle = mw_create(CInt(Me.Handle)) mw_create是一个来自外部dll的函数: <DllImport("mwcore.dll", CallingConvention:=CallingConvention.Cdecl)> _ Public Shared Function mw_create(ByVal hWnd As Integer) As Integer

这个错误已经困扰我好几天了。我100%确定这行代码是导致错误的原因:

g_Handle = mw_create(CInt(Me.Handle))
mw_create是一个来自外部dll的函数:

  <DllImport("mwcore.dll", CallingConvention:=CallingConvention.Cdecl)> _
    Public Shared Function mw_create(ByVal hWnd As Integer) As Integer
    End Function
_
公共共享函数mw_create(ByVal hWnd作为整数)作为整数
端函数
问题是,这在Windows 7上可以正常工作,但会产生令人讨厌的System.NullReferenceException:在Windows XP上运行时,对象引用未设置为对象错误的实例

这里有人知道为什么会这样吗

注意:我已经声明了所有变量,代码在Windows7上运行良好,这是编译它的PC机,但在XP上给出了空引用错误


另外,我使用Visual Studio 2012(v110)在C++中编译DLL

可能是64位对32位的问题,也许?EXE在Windows 7上编译为32位可执行文件。显然,您需要使用非托管调试器来找出问题所在。如果你不先这样做,就没有必要猜测原因。