//文件名为checkpassword.dpr;编译此文件生成checkpassword.dll library checkpassword; uses SysUtils, Classes, Unit1 in 'Unit1.pas' {Form1}; exports checkpwd name 'checkpwd';//声明DLL函数 {$R *.RES} begin end.
file://文件名为unit1.pas unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) password: TEdit; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; flag:boolean;//返回输入密码是否正确 rightpwd:string;//记录输入参数(正确的密码) function checkpwd(pwd:string):boolean;export;//声明DLL函数 implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); begin if password.text=rightpwd then flag:=true; form1.close; end;
function checkpwd(pwd:string):boolean;export; begin flag:=false; rightpwd:=pwd;//读入正确的密码值 form1:=Tform1.create(Application);//创建密码验证窗口 form1.ShowModal;//显示窗口 checkpwd:=flag; form1.free;//释放资源 end; end.
file://主程序main.pas,调用DLL unit main; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) jieguo: TEdit; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation function checkpwd(pwd:string):boolean;external 'project1.dll' ;//函数说明 {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); begin if checkpwd('congrong') then//调用函数 jieguo.text:='true' else jieguo.text:='false'; end; end. |