Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Problem beim Import einer DLL-Funktion

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
11.01.2008, 11:23 Uhr
demdh



Hallo Forum,

ich habe leider das folgende Problem. Ich muss eine Funktion
aus einer C-Dll aufrufen. Leider habe ich keine *.def Datei sondern
nur die *.lib und die *.dll Dateien.

Ich weiß das die Funktion folgendermaßen aufgebaut ist:

Code:
LoadMap(const char* filename, unsigned char* serial, int serialLen);


Leider schaffe ich es nicht die Funktion in meinem C-Code zu zu deklarieren
das der Compiler sie in der *.lib Datei findet.

Ich hatte es versucht mit:

Code:
extern "C" int _cdecl LoadMap(const char* filename, unsigned char* serial, int serialLen);


Ich habe des weiteren eine *.bas Datei um diese Funktion von VB 6 aus
aufzurufen. Hierbei ist angegeben das der Symbolische Name in der DLL
(Alias)
Code:
ik2110@12
lautet.
In VB kann ich die Funktion auch erfogreich aufrufen. Dekalriert wurde sie dort
mit:

Code:
Declare Function LoadMap Lib "akg2.dll" Alias ik2110 _
                            (ByVal filename, _
                            , ByVal serial, _
                            , ByVal serialLen As Long) As Long


Kann mir vielleicht jemand einen Tipp geben wie ich die Funktion in C
deklarieren muss?

Viele Grüße
Daniel
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
11.01.2008, 11:29 Uhr
xXx
Devil


Hmm warum nicht einfach aus der DLL (LoadLibrary) mit GetProcAdresse laden?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
11.01.2008, 18:32 Uhr
0xdeadbeef
Gott
(Operator)


Beim Export aus einer DLL muss unter Windows die Funktion mit __declspec(dllexport) versehen werden, beim Import entsprechend mit __declspec(dllimport). Also:

C++:
__declspec(dllimport) int LoadMap(const char* filename, unsigned char* serial, int serialLen);


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 11.01.2008 um 18:33 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: