Hallo Fachleute ich habe versucht die atusbhid.dll (Header im Anhang) in ein Visual Basic 2005 Programm einzubinden, leider ohne erfolg. Ist es überhaupt möglich oder geht das nur mit c++? Wenn ja, wie muss ich das machen. vielen dank für eure Hilfe
> leider ohne erfolg
Tolle Fehlerbeschreibung. Wirklich.
..
Das ist keine C++-DLL, sie sollte daher auch aus VB heraus nutzbar sein.
Hast Du derartiges schon mal mit 'ner anderen DLL gemacht? Interessant
für Dich ist nur der Abschnitt, der auf "Exported functions prototypes"
folgt - da sind die in der DLL enthaltenen Funktionen deklariert. Deren
Deklarationen (Prototypen) musst Du nur in die entsprechende VB-Syntax
umsetzen, genauso, wie man das bei anderen DLL-Importen auch macht.
es ist nicht ganz das erste mal das ich das mache, aber ein Anfänger bin ich schon. Ich habe es folgendermassen probiert. Private Declare Function FindDevice Lib "C:\test\AtUsbHid.dll" Alias "FindHidDevice" (ByVal ProductID As Integer, ByVal VendorID As Integer) As Boolean Beim Aufruf der Funktion FindDevice erschien dann die Fehlermeldung: EntryPointNotFoundException
Nun, dann musst Du Dir mit dumpbin die Exportnamen der DLL ansehen. Das gibt auf meinem Rechner mit der DLL vom 5.6.07 (1.0.0.1) folgendes aus:
1 | C:\>dumpbin /exports AtUsbHid.dll |
2 | Microsoft (R) COFF Binary File Dumper Version 6.00.8447 |
3 | Copyright (C) Microsoft Corp 1992-1998. All rights reserved. |
4 | |
5 | |
6 | Dump of file AtUsbHid.dll |
7 | |
8 | File Type: DLL |
9 | |
10 | Section contains the following exports for AtUsbHid.dll |
11 | |
12 | 0 characteristics |
13 | 466558DC time date stamp Tue Jun 05 14:36:44 2007 |
14 | 0.00 version |
15 | 1 ordinal base |
16 | 18 number of functions |
17 | 18 number of names |
18 | |
19 | ordinal hint RVA name |
20 | |
21 | 2 0 000019A4 closeDevice |
22 | 3 1 000011CF findHidDevice |
23 | 4 2 00001ECC getch |
24 | 5 3 00001FBC hidRegisterDeviceNotification |
25 | 6 4 00001FAB hidUnregisterDeviceNotification |
26 | 7 5 00002019 isMyDeviceNotification |
27 | 8 6 00001000 openDevice |
28 | 9 7 00001E7E putch |
29 | 10 8 00001CFC readContinuous |
30 | 11 9 00001D3B readData |
31 | 12 A 00001C2A readStandard |
32 | 13 B 00002069 setFeature |
33 | 14 C 00001AFE setReportContinuous |
34 | 15 D 00001F7F setTxPeriod |
35 | 1 E 00001E09 updateFeatureBytes |
36 | 16 F 00001D4B writeContinuous |
37 | 17 10 00001DF9 writeData |
38 | 18 11 00001B34 writeStandard |
39 | |
40 | Summary |
41 | |
42 | 5000 .data |
43 | 2000 .rdata |
44 | 1000 .reloc |
45 | 1000 .rsrc |
46 | 9000 .text |
Also wird die von Dir verwendete Funktion mit einem kleinen Anfangsbuchstaben geschrieben.
nein, dass darf nicht wahr sein. Das ist wieder einmal typisch. herzlichen dank für deine Hilfe
Guten Abend zusammen, wenn ich die atusbhid.dll in VB2005 eingebunden habe, wie kann ich denn über writedata und readdata Daten schreiben bzw. lesen? Irgendwie hab ich keine Ahnung, wie man die Funktionen richtig in VB einbindet und aufruft. Danke für die Hilfe.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.