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