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)