Einzelnen Beitrag anzeigen

blackfin
(Gast)

n/a Beiträge
 
#4

AW: Pfad einer statisch gelinkten DLL herausfinden

  Alt 30. Jun 2010, 10:12
Ich habe jetzt weiter danach gesucht und gegoogelt...aber einen Weg habe ich bisher nicht gefunden...

Nochmal eine genauere Erklärung:

Bei delphi.about.com wird es jedoch auch als "statisches laden" deklariert, wenn man eine dll-funktion so einbindet:

function CircleArea(const radius : double) : double; external 'circle.dll';
Dabei wird die DLL ja nicht Bestandteil der EXE, sondern wird direkt beim Programmstart geladen.
Was mich interessiert, ist der Pfad, aus dem diese DLL dann tatsächlich geladen wird.
Denn die Suchreihenfolge ist auf den Systemen unterschiedlich:

Zitat:
By design the DLL search order with static linking includes: the directory from which the application loaded, the system directory, the Windows directory, directories listed in the PATH environment variable.
Note also that the search order might be different for various Windows versions.
The safest is to always expect to have all the DLLs in the directory where the calling application is.
Ist ja schön, wenn der "safest way" der Weg ist, das Applikations-Verzeichnis zu nehmen.
Ich mag aber nun eben wissen, welche DLL genau verwendet wird, wenn es z.B. die gleiche DLL im System32 und im Applikations-Verzeichnis gibt und geladen werden kann.
An die Suchreihenfolge-Vorgabe mag ich mich da nicht halten, da sie ja eben unterschiedlich sein kann. Am einen System nimmt er die aus dem System32 zuerst, auf einem anderen aus dem App-Verzeichnis. Und genau das möchte ich nun rausfinden, welche dll benutzt wurde. Das muss doch irgendwie möglich sein?

Geändert von blackfin (30. Jun 2010 um 10:25 Uhr)
  Mit Zitat antworten Zitat