| |
Fortgeschrittene ProgrammierungDLL Einbindung in VB6 | | | Autor: Staffi | Datum: 11.09.05 17:04 |
| Hallo,
habe eine DLL mit der ein "Conrad" FHZ1000PC-USB Funkempfänger/Sender gesteuert werden kann.
Leider gibt es zu dieser DLL nur ein C++Builder6 Beispiel-Programm.
Wie muss ich diese DLL in mein eigenes VB6 Programm einbinden damit ich die Funktionen nutzen kann???
Hier nun das C++Builder6 Beispiel-Programm:
HINSTANCE DLL_Handle;
typedef INT (*TFHZOpen)();
typedef INT (*TFHZClose)();
typedef INT (*TFHZSendData)(int,int,int,int,int,int,int,int,int);
// Achtung, die Parameterübergabe nicht mit array (int[9])!!
// der unbequeme Weg die Variablen einzeln aufzuführen dient der
// Übergabe-Kompatibilität der unterschiedlichen Programmiersprachen
typedef INT (*TFHZReceiveData)(int*,int*,int*,int*,int*,int*,int*,int*,int*);
typedef INT (*TFHZBufferCount)();
typedef INT (*TFHZReset)();
typedef INT (*TFHZActivateReceive)();
typedef INT (*TFHZDeactivateReceive)();
typedef INT (*TFHZSetHC)(int,int);
typedef INT (*TFHZClearFHTBuffer)();
typedef INT (*TFHZGetZentrCode)();
typedef INT (*TFHZSetZentrCode)(int);
typedef INT (*TFHZGetVersion)(int*,int*);
typedef INT (*TFHZSetFHTTime)();
typedef INT (*TFHZRequestFHT)(int,int,int);
typedef INT (*TFHZResetTimeCount)();
TFHZOpen FHZOpen;
TFHZOpen FHZClose;
TFHZSendData FHZSendData;
TFHZReceiveData FHZReceiveData;
TFHZBufferCount FHZBufferCount;
TFHZReset FHZReset;
TFHZActivateReceive FHZActivateReceive;
TFHZDeactivateReceive FHZDeactivateReceive;
TFHZSetHC FHZSetHC1;
TFHZSetHC FHZSetHC2;
TFHZClearFHTBuffer FHZClearFHTBuffer;
TFHZGetZentrCode FHZGetZentrCode;
TFHZSetZentrCode FHZSetZentrCode;
TFHZGetVersion FHZGetVersion;
TFHZSetFHTTime FHZSetFHTTime;
TFHZRequestFHT FHZRequestFHT;
TFHZResetTimeCount FHZResetTimeCount;
int InitFHZDLL()
{
DLL_Handle=LoadLibrary("FHZ1000PC.DLL");
if (DLL_Handle != NULL)
{
FHZOpen = (TFHZOpen) GetProcAddress(DLL_Handle, "FHZOpen");
FHZClose = (TFHZOpen) GetProcAddress(DLL_Handle, "FHZClose");
FHZSendData = (TFHZSendData) GetProcAddress(DLL_Handle, "FHZSendData");
FHZReceiveData = (TFHZReceiveData) GetProcAddress(DLL_Handle, "FHZReceiveData");
FHZBufferCount = (TFHZBufferCount) GetProcAddress(DLL_Handle, "FHZBufferCount");
FHZReset = (TFHZReset) GetProcAddress(DLL_Handle, "FHZReset");
FHZActivateReceive = (TFHZActivateReceive) GetProcAddress(DLL_Handle, "FHZActivateReceive");
FHZDeactivateReceive = (TFHZDeactivateReceive) GetProcAddress(DLL_Handle, "FHZDeactivateReceive");
FHZSetHC1 = (TFHZSetHC) GetProcAddress(DLL_Handle, "FHZSetHC1");
FHZSetHC2 = (TFHZSetHC) GetProcAddress(DLL_Handle, "FHZSetHC2");
FHZClearFHTBuffer = (TFHZClearFHTBuffer) GetProcAddress(DLL_Handle, "FHZClearFHTBuffer");
FHZGetZentrCode = (TFHZGetZentrCode) GetProcAddress(DLL_Handle, "FHZGetZentrCode");
FHZSetZentrCode = (TFHZSetZentrCode) GetProcAddress(DLL_Handle, "FHZSetZentrCode");
FHZGetVersion = (TFHZGetVersion) GetProcAddress(DLL_Handle, "FHZGetVersion");
FHZSetFHTTime = (TFHZSetFHTTime) GetProcAddress(DLL_Handle, "FHZSetFHTTime");
FHZRequestFHT = (TFHZRequestFHT) GetProcAddress(DLL_Handle, "FHZRequestFHT");
FHZResetTimeCount = (TFHZResetTimeCount) GetProcAddress(DLL_Handle, "FHZResetTimeCount");
return(1);
}
else
return(0);
} | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
Neu! sevEingabe 3.0
Einfach stark!
Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. Weitere InfosTipp des Monats Access-Tools Vol.1
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|