GetProcAddress schlägt fehl



  • Hallo,

    Ich versuche in meinem Projekt Funktionen aus einer von mir selbst geschriebenen Dll zu verwenden. Die Funktionen sind in der Dll so deklariert:

    #ifdef TESTD_EXPORTS
    #define TESTD_API __declspec(dllexport)
    #else
    #define TESTD_API __declspec(dllimport)
    #endif
    
    TESTD_API int fnTestd(void);
    

    Und hier die (noch) leere Funktion in der DLL:

    TESTD_API int fnTestd(void)
    {
    	return 0;
    }
    

    Wenn ich jetzt versuche,die Funktion fnTestd mit LoadLibrary und GetProcAddress aus der DLL in meinem Projekt zu laden, liefert GetProcAddress immer NULL zurück 😡

    Hier der Code aus der EXE:

    typedef int (fnTestd)(void);
    	HINSTANCE hi;
        hi = ::LoadLibrary(Dir.c_str()); // Liefert gültiges Handle
    	fnTestd *pTest;
    	pTest = (fnTestd * ) ::GetProcAddress(hi,"fnTestd"); //pTest ist immer NULL
    

    Weiss jemand, was da falsch ist??



  • Schau doch mal nach (z.B. mit Depends), unter welchem Namen die Funktion in der DLL exportiert wird.



  • Danke für den Tipp! hat Funktioniert, der Export-Name war ein ganz anderer 🙂


Anmelden zum Antworten