Dll zur Laufzeit laden
-
Hallo!
Ich habe in meinem Programm für's MP3-Abspielen das Element Windows Media Player benutzt. Jetzt habe ich es auf fmod.dll umgestellt. Ich will allerdings eine Fallunterscheidung machen: wenn auf einem Rechner die fmod.dll vorhanden ist, soll das Programm darüber laufen, sonst soll es, wie gehabt,über Windows Media Player laufen. Um das machen zu können, muß das Programm erst mal starten. Aber wenn keine fmod.dll da ist, kriege ich eine Fehlermeldung, daß diese DLL fehlt und das Programm nicht gestartet werden kann.
Meine Frage wäre, wie kann ich erst zur Laufzeit des Programms entscheiden, welche DLL's geladen werden müssen?P.S. Natürlich, kann man einen Setup schreiben, der die entsprechende DLL liefert, aber darum geht es mir nicht. Ich will ohne Setup auskommen.
Danke
-
Hi,
du kannst zur Laufzeit mit LoadLibrary() DLL's Laden.
MFG
Kai[EDIT]Wenn du wissen willst, wie man mit LoadLibrary() umgeht, kannst du in der MFC FAQ unter "Multilanguages" schauen (gibt sicher auf noch andere Bsp.).[/EDIT]
[ Dieser Beitrag wurde am 04.03.2003 um 10:53 Uhr von KaiE editiert. ]
-
Ja, gut, aber bevor ich LoadLibrary() einsetze, soll das Programm erst starten. Wenn die DLL nicht da ist, kann es eben nicht. Das ist das Problem!
[ Dieser Beitrag wurde am 04.03.2003 um 11:21 Uhr von Laie editiert. ]
-
LoadLyb wird in deinem Source verwendet um eine Lyb zur Laufzeit zu laden.
Du musst aus deinem Code für den Linker die LIB auch rausnehmen da du vermutlich diese mitgelinkt wird und bei Programmstart dann die DLL geladen werden will.
Weiters musst du den Source komplett ändern da bei LoadLyb die Funktionen nicht bekannt sind und diese erst mit GetProcAdress (heißt das jetzt so?) geladen werden.
Weiters kannst du bei LoadLyb IMHO nicht mit Klassen arbeiten da dll keine Klassen exporteiern können.
Gibt zwar eine Möglichkeit aber ist nicht so einfach und schon garnicht bei einer bereits vorhandenen.
-
Danke für die Antwort!
Ist doch nicht so einfach
Ich muss noch darüber schlafen...
-
Mach lieber zwei verschieden gelinkte exes