C DLL Aufruf

23/01/2008 - 12:34 von Johann Obermayr | Report spam
Hallo,

Haben eine C Dll Aufruf
mit

public Class Lasal32
Declare Function GetData Lib "MyLib.Dll" (ByRef pData As Byte, Adr as
Long, Len as Short) As Boolean
End Class



Dim Data(101) As Byte

GetData( Data(0), 0, 100)

Unter VB 6.0 Hat das Funktioniert.
Aber unter VB 2005 Express Edition
kommt folgender Fehler

PInvokeStackImbalance was detected
Message: A call to PInvoke function
'SupportDemo!WindowsApplication1.Lasal32::GetData' has unbalanced the
stack. This is likely because the managed PInvoke signature does not
match the unmanaged target signature. Check that the calling convention
and parameters of the PInvoke signature match the target unmanaged
signature.

Warum nur ?

Jimmy
 

Lesen sie die antworten

#1 Herfried K. Wagner [MVP]
23/01/2008 - 12:37 | Warnen spam
"Johann Obermayr" schrieb:
Haben eine C Dll Aufruf
mit

public Class Lasal32
Declare Function GetData Lib "MyLib.Dll" (ByRef pData As Byte, Adr as
Long, Len as Short) As Boolean
End Class


Dim Data(101) As Byte

GetData( Data(0), 0, 100)

Unter VB 6.0 Hat das Funktioniert.
Aber unter VB 2005 Express Edition
kommt folgender Fehler

PInvokeStackImbalance was detected



Poste den C-Prototypen der Funktion.

M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://dotnet.mvps.org/dotnet/faqs/>

Ähnliche fragen