Probleme bei einbindung einer DLL

15/02/2008 - 14:50 von d_heger | Report spam
Hallo,
ich versuch mich gerade daran die DLL für die Steuerung eines Barcode-
Scanners zu erstellen. Das Problem ist das es keine Dokumentation für
die einbindung in VBA gibt. Vielleicht könnt Ihr mir helfen die
Funktionsaufrufe korrekt zu erstellen so das ich die Funktionen nutzen
kann.

Zum Beispiel breche ich mir die Ohren mit der Übergabe von Werten die
als char* erwartet werden, hier mal zwei Beispiele dafür

long _stdcall getProgress ( char *nameBuffer, long mem, long& current,
long& max )
long _stdcall getSCANNDYData ( char *nameBuffer, long mem, long num,
char *dataBuf )

Die einzige Funktion die ich bisher korrekt hinbekommen habe sieht so
aus

DLL:
long _stdcall initSCANNDYDll (long comInterface, long baudrate, char
*paraString=NULL)

VBA:
Public Declare Function initSCANNDYDll Lib "SCANNDYDll.dll" (ByVal
comInterface As Long, ByVal baudrate As Long, ByVal paraString As
Byte) As Long

aber auch nur weil der letzte Wert nur ein unwichtiger "Dummy"
ist :-/
Die darauf folgende Funktion (ob der Scanner angeschlossen ist)
bekomme ich dann schon nicht korrekt hin:
long _stdcall isSCANNDYConnected ( char *nameBuffer )

Wie bekomme ich dieses char aus Access korrekt in Richtung DLL
übergeben?

Vielen vielen Dank,
Dennis
 

Lesen sie die antworten

#1 Thomas Möller
15/02/2008 - 18:24 | Warnen spam
Hallo Dennis,

schrieb:

In dieser NG ist es üblich den vollen Realnamen (Vor- und Nachname)
anzugeben. Danke!


ich versuch mich gerade daran die DLL für die Steuerung eines Barcode-
Scanners zu erstellen. Das Problem ist das es keine Dokumentation für
die einbindung in VBA gibt. Vielleicht könnt Ihr mir helfen die
Funktionsaufrufe korrekt zu erstellen so das ich die Funktionen nutzen
kann.

Zum Beispiel breche ich mir die Ohren mit der Übergabe von Werten die
als char* erwartet werden, hier mal zwei Beispiele dafür

long _stdcall getProgress ( char *nameBuffer, long mem, long& current,
long& max )
long _stdcall getSCANNDYData ( char *nameBuffer, long mem, long num,
char *dataBuf )




char làsst eigentlich auf Byte schliessen. Allerdings kommt mir bei
"nameBuffer" ein String in den Sinn. Was hast Du denn schon versucht?

Weisst Du, was Du für Werte für die Parameter übergeben musst? Gibt es
dafür eine Doku?


CU
Thomas

Homepage: www.Team-Moeller.de

Ähnliche fragen