DLL in einem anderem Ordner ansprechen

26/10/2012 - 10:57 von Hermie | Report spam
Hallo!

Wenn man Funktionen einer DLL deklariert hat, und diese dll ist nicht in
App.Path oder System, dann findet er die DLL ja nicht.
Ich hatte mal einen Methode, wie ich so eine DLL trotzdem ansprechen konnte.
Ich weiß nicht mehr genau, aber war das LoadLibrary oder so?

Danke für die Hilfe!

Hermann
 

Lesen sie die antworten

#1 Schmidt
26/10/2012 - 13:55 | Warnen spam
Am 26.10.2012 10:57, schrieb Hermie:
Hallo!

Wenn man Funktionen einer DLL deklariert hat, und diese dll ist nicht
in App.Path oder System, dann findet er die DLL ja nicht.
Ich hatte mal einen Methode, wie ich so eine DLL trotzdem ansprechen
konnte.
Ich weiß nicht mehr genau, aber war das LoadLibrary oder so?



Ja, einmalig LoadLibrary (mit vollem Pfad) beim Start der Applikation
(am besten in Sub Main) reicht aus.
Danach funktionieren alle normal (also ohne vollen Pfad)
vorgenommenen Declares gegen diese Dll in dem jeweiligen
Projekt.

Wenn man's ganz genau nimmt, dann das zurückgegebene Handle
merken - und beim Terminate der Applikation per FreeLibrary
wieder freigeben ... letzteres muss aber nicht unbedingt sein,
da ein terminierender Prozess das Handle auch von sich aus
wieder freigibt.
Das wàre also nur wichtig für z.B. dynamische Update-Prozesse
*wàhrend* der Prozess noch làuft (um den FileLock aufzuheben,
und das File dann z.B. überschreiben zu können).

Olaf

Ähnliche fragen