一.制作dll窗口
1.添加 dll Project
右键ProjectGroup1 -> Add New Project
选择Delphi Projects->ActiveX->ActiveX Library
2.添加窗体到 dll Project
右键Project1->Add New->VCL Form
3.向新建的窗体添加外部调用代码
1). 添加接口函数声明
在 Interface 区域添加
function Createform():string;stdcall;
2).添加接口函数
在implementation下加入
function Createform(capt:string):string;stdcall;
var Form1: TForm1;
begin
Form1:=Tform1.Create(application);
Form1.show;
Form1.caption:=capt;
end;
3).添加动态链接库声明
右键Project1.dll->View Source
在exports 添加
Createform name 'Form1';
二.调用dll 窗口
1.声明调用的函数
在调用的窗口代码的implementation下
const
gdi32='Project1.dll';
function Createform ():string;stdcall;external gdi32 name 'Form1';
2.调用执行
procedure TForm3.Button1Click(Sender: TObject);
begin
Createform();
end;
完成窗口创建于调用
三.调用dll函数数据传递
创建方法创建窗口相同,只要在函数使用返回值
四.动态加载dll
1.在interface 添加声明
GetPlusResult = function (int1,int2:Integer):Integer; stdcall;
2.调用dll函数
procedure TForm3.Button1Click(Sender: TObject);
var Int3: Integer;
DLLHandle: THandle;
Func: GetPlusResult;
begin
try
@Func := GetProcAddress(DLLHandle, 'GetPlusResult');
if Assigned(@Func) then
begin
Int3 := Func(3,5);
ShowMessage(IntToStr(Int3));
end;
finally
FreeLibrary(DLLHandle);
end;
end;