创建DLL:
1、在application中,把begin..end之间的东西去掉
2、把project改成library
3、在uses和{$R *.RES}后面,begin end前面,加:
procedure CreateDllForm(Parameter:Longint);stdcall;
var
//这里定义要显示的Dll窗体
Form1:TForm1;
begin
Application.Handle:=Parameter;
Form1:=TForm1.Create(Application);
try
Form1.ShowModal;
finally
Form1.Free;
Form1:=nil;
end;
end;
exports CreateDllForm;
然后编译,即完成dll.
应用:
4.implementation后面增加应用说明:
procedure CreateDllForm(Parameter:Longint);stdcall;external 'project1.dll';
5.在buttonclick里面,增加:
CreateDllForm(Application.Handle);
如果要将一个项目全部转化成dll窗体,需要做处理,
首先,选择一个做主窗体,这个主窗体和其他的不产生联系,只是调用其他的(如果有联系,需要声明..麻烦).
其次,把其他的窗体放在一个Project里面,做成library,在project resource中,有几个Form搞几个CreateDllForm函数,
最后,把其他窗体中原来的调用窗体的show方法全部改成现在的调用dll的方法,
完成,相当于其他的所有窗体是一个project,在里面,全局变量啊什么的都有效.