Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#9

AW: DLL Side-by-side registration & redirection

  Alt 22. Jun 2018, 02:21
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

Geändert von EWeiss (22. Jun 2018 um 02:53 Uhr)
  Mit Zitat antworten Zitat