Problem mit DLL



  • Folgende Funktion zum Laden einer DLL steht bei mir in der Funktion APIENTRY WinMain

    Beim kompilieren kommen 0 Fehler 0 Warnungen aber es wird trotzdem die Funktion "pfnDllFunction1" in der DLL-Datein nicht gefunden.

    Kann mir jemand sagen was hier nicht funktionieren soll ?!?

    HMODULE hMyLib;
    DLLFUNCTION1PROC pfnDllFunction1 = NULL;
    
        hMyLib = LoadLibrary("msgdll");
        if (hMyLib == NULL)
        {
           MessageBox(hWnd,"Pfad nicht gefunden","Error",MB_OK); /* DLL nicht im Pfad gefunden */
           return 1;
        }
    
       pfnDllFunction1 = (DLLFUNCTION1PROC)GetProcAddress(hMyLib, "DllFunction1");
       if (pfnDllFunction1 == NULL) 
       {
           MessageBox(hWnd,"Funktion nicht gefunden","Error",MB_OK);  /* Funktion nicht gefunden */
            return 2;
       }
    
       pfnDllFunction1("Hello World 2!");
    
       FreeLibrary(hMyLib);
    


  • Du musst die Funktion noch als extern deklarieren wenn ich mich recht entsinne.

    C++ kennt aber keine DLLs.

    Mit welchem Compiler / welchem Betriebssystem Programmierst Du ?



  • ich programmiere mit Visual Studio .NET



  • Hi,
    hast du deine Funktionen auch in der Definitionsdatei aufgenommen?
    Wenn nicht schreib einfach unter Export die Funktionsnamen ohne Parameter. Dann sollte es funktionieren.
    Gruß
    Thomas


Anmelden zum Antworten