Problem bei Funktionsaufruf aus einer DLL
-
Hi zusammen,
habe ein Problem bei Aufruf einer Funktion aus einer Library.
Bekomme immer NULL zurück.Hier die Header-Funktion aus der Library:
__declspec (dllexport) char OpenTest (char comport, char Device_Status, char Adress);
Nun habe ich in meiner Wrapper.h
typedef char (__stdcall *TOpenTest ) ( sint32 s32_ComPort, char Device_Status, char Adress); HINSTANCE m_Dll;
und rufe die Funktion in der Wrapper.cpp folgendermaßen auf:
//Meine Library = s_FilenameDLL //Load-Library bring beim Mausouver im Debug: :08DC00000... m_Dll = LoadLibrary (s_FilenameDLL.c_str()); //Library wird denk ich geladen, da nich NULL // load the function from dll dll_InitCommunication = (TOpenTest) GetProcAddress (m_Dll, "OpenTest");
Bekomme aber immer NULL zurück!
An was liegt das?
Danke
-
So einen ähnlichen Eintrag gab es heute schon einmal (im WinAPI-Forum): http://www.c-plusplus.net/forum/viewtopic-var-t-is-251528
Handelt es sich um eine DLL mit C-Schnittstelle? Ansonsten schau dir mal die DLL mit dem DependencyWalker an (bzgl. Name-Mangling).
-
Hi,
ja, sollte so sein!
Die Funktion im Header der DLL sagt dies doch schon aus, oder?Danke
-
Hallo
Nein reicht nichts aus. Im Zweifelsfall wie schon erwähnt entsprechende Tools zum Untersuchen einer DLL einsetzen, und nochmal im Tutorial nachlesen was alles beachtet werden muß.
bis bald
akari
-
HI,
ok, es lag daran, das kein "extern "C" " vor dem "__declspec" stand!
Danke und Grüße