



É necessário declarar Windows e Forms,
versões unicode declare WinApi.Windows e VCL.Forms.
Para carregar uma DLL dinamicamente, deve-se utilizar as funções
LoadLibrary e GetProcAddress.
Sugestão de uso:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | procedure LoadSecurity( Path, Rotina : PChar; Tag : Integer); var FHandle : THandle; FRoutine : procedure(Path : TFileName; Tag : Integer); begin FHandle := LoadLibrary(Path); try FRoutine := GetProcAddress(FHandle, Rotina); if (Assigned( FRoutine )) then begin try FRoutine(ExtractFilePath(Path), Tag); except on E: Exception do FreeLibrary(FHandle); end; end else raise Exception.Create('Dll não encontrada.'); finally FreeLibrary(FHandle); end; end; |
Repare que o FRoutine deve receber uma procedure de acordo com a procedure
que você exportar em sua DLL.