ini-Datei in DLL auslesen
-
Hallo ,
habe eine DLL erstellt und möchte in dllmain
eine ini-Datei die ich nur mit dem Namen angegeben zu lesen.
Leider wird die ini-Datei nicht gefunden , obwohl sie sich im gleichen Verzeichnis , wie die dll befindet.Wenn ich den Pfad angebe , dann wird sie gefunden.
Nur möchte ich , dass die ini ohne Pfad gefunden wird.
Bei einem executable fuktioniert das. D.h. wenn die *.exe und die ini
in einem Pfad sind , dann wird sie gefunden.Weiß jemand, warum das bei einer dll nicht der Fall ist ?
Danke.
Grüße, Rocky
-
Du musst einen Pfad angegen, da sonst die Datei im system32-Verzeichnis gesucht wird. RTFM...
Nimm doch ".\\Data.ini", wenn Du sicher bist, dass das *aktuelle* Verzeiuchnis immer das der DLL ist.
Ansonsten würde ich Dir sowieso empfehlen das Verzeichnis mittels GetModuleFileName(hInst, ...) rauszufinden und das Verzeichnis zu extrahieren!
-
Hallo Jochen ,
das mit ".\\data.ini" habe ich ausgetestet.
Die data.ini wird nicht gefunden.Grüße, Rocky
-
Logisch, weil das current working directory Deines Prozesses genommen wird.
Mach es wie Jochen es schreibt. Nimm einen vollständigen Pfad.
Relative Pfade machen nur Mist, wnen Du aus DLLs und aus GUI Anwednungen zugreifst.Wie schon gesagt: Besorge Dir mit GetModuleFileName den vollständigen Namne inkl. Pfad der DLL, setz Deinen Namen dran und gut ists. Aber bitte für hInst nicht NULL nehmen!
-
Hallo zusammen,
mit GetModuleFileName bekomme ich den Pfad der exe und nicht der dll .
Wie komme ich an den Pfad der dll ?
Danke !
Grüße, Rocky
-
Rocky_100 schrieb:
Hallo zusammen,
mit GetModuleFileName bekomme ich den Pfad der exe und nicht der dll .
Wie komme ich an den Pfad der dll ?Kannst Du lesen?
Wie schon gesagt: Besorge Dir mit GetModuleFileName den vollständigen Namne inkl. Pfad der DLL, setz Deinen Namen dran und gut ists. Aber bitte für hInst nicht NULL nehmen!
Setze das Insance Handle Deiner DLL ein und gut ists!