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


Anmelden zum Antworten