Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.049 Beiträge
 
Delphi 12 Athens
 
#5

AW: DLLs in Hintergrund-Thread laden

  Alt 19. Mär 2014, 18:48
Neuere Delphi-Compiler (mindestens seit XE3, aber vermutlich schon bissl früher) haben direkt den "Linker Support for Delay-Loaded" implementiert.

Delphi-Quellcode:
function GetSomething: Integer;
external 'somelibrary.dll' delayed;
Die DLL wird dabei erst dann automatisch geladen, wenn eine der importierten Methoden aufgerufen wird.
(wird eine Methode ohne Delayed importiert, dann wird natürlich dennoch beim Programmstart schon geladen)

Im Hintergrund wird der selbe Code verwendet, welchen auch die C++-Compiler benutzen, wenn man dort via Delayed importiert. (der Code wurde von Microsoft so bereitgestellt)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (19. Mär 2014 um 18:51 Uhr)
  Mit Zitat antworten Zitat