Entwickler-Ecke

Dateizugriff - DLL Suchverzeichnis


Alibi - Mi 22.10.03 18:40
Titel: DLL Suchverzeichnis
Hi,
ich hab hier eine Komponente, die eine DLL benötigt (Zeoslib). Ich will diese DLL aber nicht im selben Verzeichnis wie die Exe haben sondern in einem Unterordner.
Wie mach ich dem Programm klar, dass es in diesem Unterordner nach der DLL suchen soll ohne:
- Den Code von Zeoslib anzufassen.
- Irgendwelche Windowseinstellungen zu ändern
?


Delete - Mi 22.10.03 19:14

Dynamsich laden. Oder ins Windowsverzeichnis kopieren.


Alibi - Mi 22.10.03 20:59

Beides doof, beim ersteren müsste ich wohl Zeos ändern und das möchte ich nicht. Letzteres: Ich mag nicht ins Windowsverzeichnis, das gehört Windows und nicht meinem Programm. Und ein anderes wird wohl nicht auf die DLL zugreifen.


bIce - Do 23.10.03 19:41

Dann bleibt nur noch das Systemverzeichnis.


thorbenZ - Do 23.10.03 20:42

Also DLLs soll man ruhig ins Systemverzeichnis kopieren, auch wenn die sonst keiner braucht.


Alibi - Do 23.10.03 21:12

Hm, ne, dann lieber das Programmverzeichnis. Naja, dann ist das wohl nicht möglich, schade. Aber danke.


Tino - Fr 24.10.03 09:28

Es ist ja möglich... nur musst du die DLL dann dynamisch einbinden.

Gruß
Tino


Alibi - Fr 24.10.03 13:25

Ja, soweit wäre das ja kein Problem. Jedoch hab ich hier Gründe, warum ich die Komponente (Zeoslib) nicht anfassen will. Am liebsten wäre mir also eine Funktion à la AddToDLLSearchPaths(ExtractFilePath(Application.ExeFile)+'DLLs\meineDll.dll);
im Hauptprogramm.


Alibi - Fr 24.10.03 13:49

Und es geht doch. :)
SetEnvironmentVariable('PATH', PChar(ExtractFilePath(Application.Exename) + 'DLLs\')); im Create und gut ist. :)