Hallo zusammen,
ich habe eine DLL und weiß nicht genau, wie ich mit den Datentypen korrekt umgehen muss ...
Kann mir hierbei jemand helfen?
Das Bild zeigt, wie die Funktion aufgebaut ist.
Ich habe es jetzt mal so probiert:
Ich bekomme darauf hin einen Fehler von der DLL, dass ein ungültiger Parameter an die Funktion der DLL gesendet wurde.
ich habe eine DLL und weiß nicht genau, wie ich mit den Datentypen korrekt umgehen muss ...
Kann mir hierbei jemand helfen?
Das Bild zeigt, wie die Funktion aufgebaut ist.
Ich habe es jetzt mal so probiert:
VB.NET-Quellcode
- Public Declare Function dbusSendFrame Lib "DBusDrv.dll" (ByVal portHandle As Integer, _
- ByVal targetAddress As Integer, _
- ByVal messageData As IntPtr, _
- ByRef messageDataSize As Integer) As Integer
- Private Sub Button12_Click(sender As Object, e As EventArgs) Handles btnSendFrame.Click
- Dim porthandle As Integer = CInt(TextBox16.Text)
- Dim managedArray(2) As Integer
- managedArray(0) = &H51 'Identifier
- managedArray(1) = &H60 'Identifier
- managedArray(2) = &H4 '&H200096B
- Dim pinnedArray As GCHandle = GCHandle.Alloc(managedArray, GCHandleType.Pinned)
- Dim pnt As IntPtr = pinnedArray.AddrOfPinnedObject()
- ' PortHandle|Target Address|Message Data|Message DataSize
- Dim res As Integer = dbusSendFrame(porthandle, &H10, pnt, 3)
- pinnedArray.Free()
- End Sub
Ich bekomme darauf hin einen Fehler von der DLL, dass ein ungültiger Parameter an die Funktion der DLL gesendet wurde.