brauche dringend Hilfe: Funktions-Aufruf aus DLL
-
Hallo,
bin schon seit Tagen am basteln und komme einfach nicht weiter.
Ich habe ein IO-Karte, bei der folgende Dateien dabei sind.
Für Visual C++ IO1388.LIB, IO1388.H
Für Delphi IO1388DLL.PAS
und eine IO1388.dll.Ich möchte jetzt aus der DLL die Funktionen mit dem C++Builder
char IO1388_InitDriver()
und
char IO1388_GetCardCount(unsigned char *Anzahl)
ansprechen.
In der IO1388.H sind die Funktionen folgend deklariert.(Ausshnitt)
#ifndef _IO1388_ #define _IO1388_ #ifdef __cplusplus extern "C" { #endif __declspec (dllimport) char __stdcall IO1388_InitDriver (void); __declspec (dllimport) char __stdcall IO1388_GetCardCount (unsigned char *Anzahl);
Ich habe jetzt versucht mit ImpLib IO1388.lib IO1388.DLL einen neue
Bibliothek zu erstellen. Die neu Bibliothek habe ich mit
"Projekt->Dem Projekt hinzufügen" eingebunden.
Kann ich jetzt die Header-Datei mit #include <IO1388.H> in meinem Projekt
includieren?
Stehen dann meine Funktionen im Projekt zur Verfügung wenn?extern "C" __declspec (dllimport) char __stdcall IO1388_InitDriver (void); extern "C" __declspec (dllimport) char __stdcall IO1388_GetCardCount (unsigned char *Anzahl);
bekannt mache.
Als nächstes habe ich versucht mit
c= IO1388_InitDriver(); Edit1->Text=IO1388_GetCardCount(*Anzahl);
die Funktionen anzusprechen und bekomme immer folgende Fehlermeldung
[C++ Fehler] UUnit1.cpp(30): E2034 Konvertierung von 'int' nach 'unsigned char *' nicht möglich
[C++ Fehler] UUnit1.cpp(30): E2342 Keine Übereinstimmung des Typs beim Parameter 'Anzahl' ('unsigned char *' erwartet, 'unsigned char' erhalten)Gruß
Frank
-
unsigned char Anzahl; char cr; cr = Edit1->Text=IO1388_GetCardCount(&Anzahl);
-
unsigned char Anzahl; char cr; cr = Edit1->Text=IO1388_GetCardCount(&Anzahl);
der Compiler meckert, zwei Zuweisungen (=)
Hast du dich vertippt? Hast du noch einen Tip?
Oder jemand anderes noch einen Tip!
Gruß
Frank