三 DLL庫的訪問
訪問DLL庫有兩種方式
用靜態引用這種方法裝入DLL要做兩件事情
用USES把輸入單元連接到要使用DLL 函數的程序模塊中
external命令的使用語法如下
procedure /function 過程/函數名;external DLL模塊名;
下面給出為上面創建的minmax
以下是引用片段
unit testdll;
interface
uses
function Min (X
function Max (X
implementation
function Min; external
function Max; external
end
一個應用程序若想調用minmax
動態裝入DLL
function loadlobrary (DLLfileName
當不再需要一個DLL庫時
procedure FreeLibrary (Libmodule:THandle)
Libmodule 為由LoadLibrary調用得到的DLL庫句柄
以下是引用片段
function GetprocAddress (Libmodule:THandle:procname:pchar):TFarProc:
如下例所示
type
TTimeRec = record
Second: Integer;
Minute: Integer;
Hour: Integer;
end;
TGetTime = procedure(var Time: TTimeRec);
THandle = Integer;
var
Time: TTimeRec;
Handle: THandle;
GetTime: TGetTime;
begin
Handle := LoadLibrary(
if Handle <>
begin
@GetTime := GetProcAddress(Handle
if @GetTime <> nil then
begin
GetTime(Time);
with Time do
WriteLn(
end;
FreeLibrary(Handle);
end;
end;
在調用動態鏈接庫時應注意
動態鏈接庫是 Windows下程序組織的一種重要方式
[
From:http://tw.wingwit.com/Article/program/Delphi/201311/25065.html