Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
40.088 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: DLLs in Hintergrund-Thread laden

  Alt 19. Mär 2014, 17: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)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014

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