Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Static loading DLL, DLL not found (https://www.delphipraxis.net/159173-static-loading-dll-dll-not-found.html)

schwa226 17. Mär 2011 08:01

Static loading DLL, DLL not found
 
Hallo!

Ich habe eine Frage zum statischen Laden einer DLL.
Und zwar habe ich einen C-Header mit HeaderConv für Delphi konvertiert.
Nun sind die Imports der DLL natürlich statisch ausgeführt.

Wenn ich nun meine Anwendung starte kommt natürlich gleich am start die Meldung xxx.dll nicht gefunden. Kann man das mit einer Exception oder ähnlichem abfangen?

Ich habe nähmlich die Möglichkeit entweder das SDK der DLL oder den eigenen Code zu verwenden. das kommt darauf an ob das SDK installiert ist oder nicht.

Oder muss ich alles auf Dynamisch Laden der DLL umschreiben?

Danke!

hoika 17. Mär 2011 08:20

AW: Static loading DLL, DLL not found
 
Hallo,

die Fehlermeldung kommt von Windows.
Da kannst du nichts machen.

Lösung:
- dynamisch
- Dummy-DLL bauen, die genau diese Exports hat


Heiko

himitsu 17. Mär 2011 09:12

AW: Static loading DLL, DLL not found
 
Jupp, Statische DLLs müssen vorhanden sen, da sie beim Laden der EXE von Windows mit geladen werden und wenn nicht, dann bricht Windows den Programmstart ab, noch bevor dein Programmcode ausgeführt wird.

Also entweder die DummyDLL, oder du wandelst deine Header-Definitionen von statischen Aufrufen in Dynamische um,
was Anderes geht nicht, bzw. ist nicht praktikabel.

schwa226 17. Mär 2011 09:20

AW: Static loading DLL, DLL not found
 
Danke!

Dann werd ich es halt mal in Dynamisch umbauen...

Bernhard Geyer 17. Mär 2011 09:30

AW: Static loading DLL, DLL not found
 
In neueren Delphi-Versionen gibts auch die möglichkeit von Delay Loading. Macht praktisch sowas wie dynamisches Laden ohne dafür entsprechend Code zu schreiben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:59 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 by Thomas Breitkreuz