Ich habe da so ein Problem. Um es kurz zu machen: Ich versuche mich schon einige Zeit an einer Paramaterübergabe in richtung einer Delphi DLL. Das funktioniert auch. Diese DLL soll aber mit einem Treiber kommunizieren namens ezusb.sys, was sie wohl nicht tut. Die naheliegenste Vermutung ist nun, das die Strings, die die Delphi DLL erwartet, wohl nicht in dem entsprechendem Format sind.
Ich habe dazu mal die wesentlichen Zeilen herauskopiert, in der Hoffung, daß mir jemand weiterhelfen kann.
Weiter unten ist ein C# Codeschnipsel, mit dem es wohl klappen soll.
Code: Alles auswählen
Prototype.l USB32IO_OpenDevice(Par1.c, Par2.p-bstr, Par3.p-bstr, Par4.p-bstr)
.
.
Global OpenDevice.USB32IO_OpenDevice
Define.i hdll= OpenLibrary(#PB_Any,"USB32IO.dll")
If hdll
OpenDevice = GetFunction(hdll, "OpenDevice")
.
.
.
DeviceID= OpenDevice(Devnum,"EZUSB","","")
Wie bekomme ich das Marshalling in PureBasic hin ?
Danke
Galahat