CG dlls aus Unterordner laden.

Soweit ich da herausgefunden habe, werden die CG dlls und auch die opengl32.dll direkt durch die exe geladen.
Das kommt darauf an, wie du dein Programm kompiliert hast. Wenn du in deinem Code die Funktionen der DLLs einfach benutzt und nicht überall GetProcAddress verwendest, dann mußt du ja die .lib Dateien der Bibliotheken beim Linken angeben und dann werden die DLLs automatisch beim Start geladen.
Mit SetDllDirectory gebe ich der exe den Suchpfad vor, wo sie nach den dlls suchen muss oder?
Ja. Allerdings geschieht das automatische Linken der DLLs durch den Lader bevor überhaupt eine Anweisung deines Codes ausgeführt wird. D.h. dein SetDllDirectory wird nicht ausgeführt und die DLLs werden nicht gefunden.
Im Fall der CG dlls und opengl32.dll brauch ich dann ja den LoadLibrary aufruf nicht mehr oder hab ich das falsch verstanden?
Der Lader schaut halt nicht in irgendwelchen Unterverzeichnissen nach. Notfalls könntest du aber das Unterverzeichnis zum Pfad hinzufügen.

Gruß
 
Ok dann hab ich wohl ein Problem: Das ganze ist ein HL 1 Mod wo ich auf die exe keinen direkten Zugriff habe.

Kann ich das irgendwie umgehen?

Ich habe lediglich Zugriff auf die Init funktionen der DLL. Ich hab das mittels einer MessageBox getestet und die wird aufgerufen, wenn ich den Mod starte, also müsste reintheoretisch ein Aufruf meiner Loadlibrary Funktion dort etwas bewirken.

Danke für die Hilfe.
 
Ich habe lediglich Zugriff auf die Init funktionen der DLL. Ich hab das mittels einer MessageBox getestet und die wird aufgerufen, wenn ich den Mod starte, also müsste reintheoretisch ein Aufruf meiner Loadlibrary Funktion dort etwas bewirken.
Ja. Aber ich hab irgendwie dein Problem nicht verstanden. Hast du die cg und opengl DLLs denn modifiziert? Warum sollten andere Mods die diese DLLs benutzen dann dadurch abstürzen? Kann es sein, das du einfach ein Problem siehst wo keins ist?

Gruß
 
Ich nicht, aber andere Mods wie z.b. ESF haben modifizierte Versionen dieser dlls.

Mir geht es mittlerweile mehr um meinen Mod als um andere. Ich bin ein ehrlicher Gauner und benutze keine Illegalen Sachen wie z.b. gehackte Dlls oder heruntergeladene Versionen von Microsoft Ide's die man sonst nur kaufen kann.

Ich will nicht, das meine Arbeit zerstört oder beeinflusst wird, nur weil andere gehackte Dll's verwenden.

Ausserdem gehts mir auch um den lerneffekt.
 
Zurück