DLL-Parameterübergabe

dimi0579

Grünschnabel
Hallo an alle, ich bin neue hier und auch VB ist neue für mich. Deswegen sitze ich schon seit 2 tagen und weiss einfach nicht weiter...

Ich habe schreibe eine C++ DLL, die in C# un VB/VBA laufen soll. In C# läuft die Funktion einwandfrei, aber in VB mache ich ein Fehler, den ich nicht beheben kann/weiss.

DLL-Funktion ist ganz einfach. Ich verschicken den übergebenen Array weiter:

Code:
bool _stdcall SendData(char buf2[], long length2)
{
	sendErg = BulkOutEpt2->XferData((unsigned char*)buf2, length2);
	
	if(sendErg == true)
		return true;

	return false;
}


in VB mache ich folgendes:

Code:
Private Declare Function SendData Lib "UsbDLL.dll" (ByVal buf2 As Byte, ByVal length2 As Long) As Boolean

Private Sub UserForm_Click()
...
....
Dim ar(0 To 4) As Byte
  ar(0) = CByte(4)
  ar(1) = CByte(1)
 ar(2) = CByte(0)
   ar(3) = CByte(1)
 ar(4) = CByte(0)
Dim lange As Long
lange = 5
....
....
    help = SendData(0, 0, 0, ar(0), lange)
    If (help) Then
        MsgBox ("SendData() ist OK!")
    Else
        MsgBox ("SendData() ist nichts OK!")
    End If
End Sub


Kann mir jemand sagen, was ich hier falsch mache?

Danke im Voraus
 
Zurück