![]() |
VMWare Kein Zugriff auf fbclient.dll
Ich habe im Firmennetz jetzt eine Entwicklungsrechner auf Basis VMWare.
Ich habe dort eine fast identische Umgebung wie auf dem lokalen Notebook. Aber beim Laden der fbclient.dll gibt es Probleme. Ich habe zum Testen folgende Routine:
Delphi-Quellcode:
Als Ergebnis erhalte ich:
procedure TForm1.BtnLoadDLLClick(Sender: TObject);
Const FBFileName = 'c:\Temp\fbclient.dll'; FBFileName2 = 'c:\Program Files\Firebird\Firebird_3_0\WOW64\fbclient.dll'; FBFileName3 = 'e:\FBDll\fbclient.dll'; FBFileName4 = 'c:\Program Files\Firebird\fbclient.dll'; FBFileName5 = 'c:\Windows\SysWOW64\fbclient.dll'; dxFileName = 'dx.language.dll'; procedure LoadLib(const AFileName: string); Var LHandle: NativeUInt; LError: Cardinal; begin assert(FileExists(AFileName)); LHandle := LoadLibraryEx(PChar(AFileName), 0, LOAD_WITH_ALTERED_SEARCH_PATH); try LError := GetLastError; Log.Lines.Add(Format('DLL: %s Handle: %d Error: %d', [AFileName, LHandle, LError])); finally if (LHandle > HINSTANCE_ERROR) then FreeLibrary(LHandle); end; end; begin Log.Lines.Clear; LoadLib(TPath.GetLibraryPath + 'fbclient.dll'); LoadLib(FBFileName2); LoadLib(dxFileName); LoadLib(FBFileName); LoadLib(FBFileName3); LoadLib(FBFileName4); LoadLib(FBFileName5); end;
Code:
Wie man sehen kann, wird nur die DLL c:\Program Files\Firebird\Firebird_3_0\WOW64\fbclient.dll geladen.
DLL: E:\work\Spielen\Win32\Debug\fbclient.dll Handle: 0 Error: 126
DLL: c:\Program Files\Firebird\Firebird_3_0\WOW64\fbclient.dll Handle: 1411383296 Error: 0 DLL: dx.language.dll Handle: 49348608 Error: 0 DLL: c:\Temp\fbclient.dll Handle: 0 Error: 126 DLL: e:\FBDll\fbclient.dll Handle: 0 Error: 126 DLL: c:\Program Files\Firebird\fbclient.dll Handle: 0 Error: 126 DLL: c:\Windows\SysWOW64\fbclient.dll Handle: 0 Error: 126 Alle anderen findet er nicht (Code 126). Die fbclient.dll Dateien in den anderen Verzeichnissen sind aber identisch. Eigene DLL's werden auch geladen. Sehr interessant folgendes: Lege ich ein TIBCConnection auf das Formular, connecte zur Entwurfszeit und starte aus der IDE, dann werden alle fbclient.dll geladen. [EDIT] OK, er lädt sicher die dll nicht, wenn schon eine geladen ist...[/EDIT] Hat jemand eine Idee, was hier die Ursache ist und wie man das beheben kann? Frank |
AW: VMWare Kein Zugriff auf fbclient.dll
Die fbclient.dll hat Abhängigkeiten zu weiteren DLLs. Eventuell liegen nur die im Verzeichnis c:\Program Files\Firebird\Firebird_3_0\WOW64\ und werden daher gefunden, während sie für die anderen DLLs nicht auffindbar sind, da sie nicht im Suchpfad liegen.
Ist nur 'ne Vermutung. Abhängig von der FireBird-Version können die ?? variieren. msvcr??.dll - Microsoft Visual C++ Runtime Library msvcp??.dll - Microsoft Visual C++ Runtime Library (C++ spezifisch) kernel32.dll advapi32.dll shell32.dll ws2_32.dll mpr.dll user32.dll ole32.dll |
AW: VMWare Kein Zugriff auf fbclient.dll
Zitat:
Du kannst dir nicht vorstellen, wie dankbar ich dir bin! Frank Reim |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:34 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz