在程序运行时自动加载,加载失败应用程序退出。
分步语法 | function add(a,b:Integer):Integer; stdcall; function add; external 'project1.dll' name 'adddigit'; |
联合语法 | function add(a,b:Integer):Integer; stdcall; external 'project1.dll' name 'adddigit'; |
用程序代码加载动态链接库中的函数并运行。
步骤 | 说明 | 示例 |
---|---|---|
1 | 加载 DLL 文件 | var FLibHandle: THandle;
FLibHandle := LoadLibrary('NETAPI32.DLL'); if FLibHandle = 0 then Exit; |
2 | 定义函数指针 | var NetShareDelNT: function(servername: PWideChar; netname: PWideChar; reserved: DWORD): LongInt; stdcall; |
3 | 读取函数指针 | @NetShareDelNT := GetProcAddress(FLibHandle, 'NetShareDel');
if not Assigned(NetShareDelNT) then |
4 | 运行函数 | NetShareEnumNT(nil, 2, @ShareNT, DWORD(-1),@entriesread, @totalentries, nil) |
5 | 释放 DLL 文件 | FreeLibrary(FLibHandle); |