Прочитал,.. хм.. а мне показалось что речь идет о переводе модулей (юнитов) импорта dll из динамического в статический и обратно.
Динамический это когда LoadLibrary/GetProcAddress, а статический это когда через external dllname name 'procname'...
Отсюда вопрос:
Откуда идет мода на динамические модули импорта?
Вот открываю src\fpc\packages\extra\opengl\gl.pas и вижу:
- Код: Выделить всё
-   FreeOpenGL;
 
 LibGL := LoadLibrary(PChar(dll));
 if LibGL = 0 then raise Exception.Create('Could not load OpenGL from ' + dll);
 try
 @glAccum := GetGLProcAddress(LibGL, 'glAccum');
 @glAlphaFunc := GetGLProcAddress(LibGL, 'glAlphaFunc');
 @glAreTexturesResident := GetGLProcAddress(LibGL, 'glAreTexturesResident');
 @glArrayElement := GetGLProcAddress(LibGL, 'glArrayElement');
 @glBegin := GetGLProcAddress(LibGL, 'glBegin');
 @glBindTexture := GetGLProcAddress(LibGL, 'glBindTexture');
 .....
 
Не пойму, что так быстрее вызов происходит?..