Emil, er benutzt nicht LoadLibrary() wie Du mit Bass.dll. Was er beschreibt ordne ich eher .OCX (
ActiveX) zu.
Ich verwende kein LoadLibrary wer sagt dir das?
Das einzige Problem das er haben könnte wenn er die Umgebung setzt das der seltsame Compiler von Delphi die
DLL selber lädt bevor er die Umgebung setzen kann.
Wenn also die
DLL dann nicht gefunden wird startet das Programm erst gar nicht.
VB zum Beispiel tut das nicht.
Beispiel:
Delphi-Quellcode:
var
MeinDLLPath: string;
begin
MeinDLLPath := ExtractFilePath(ParamStr(0)) + 'Meine_Lib';
SetEnvironmentVariable(PWideChar('Path'), PWideChar(MeinDLLPath));
if not FileExists(ExtractFilePath(ParamStr(0)) + 'Meine_Lib\Meinelib.dll') then
Halt;
end;
Ich befürchte aber das es trotz meiner Aussage bedingt durch den Compiler von Delphi nicht funktionieren wird wenn es keinen Schalter gibt
der verhindert das die Anwendung sich beendet wenn die
DLL nicht gefunden wird bevor man die Umgebung setzen kann.
Zumindest unter VB gibt es diesbezüglich keine Probleme ohne LoadLibrary.
Vielleicht kann man das umgehen wenn man vorher eine Batchdatei erstellt. (nicht getestet)
gruss