科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件在Delphi和VC中创建和调用动态链接库

在Delphi和VC中创建和调用动态链接库

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

大家在软件开发时经常会遇到这样的情况,在不同的开发环境中为实现一些功能相同的过程。

作者:丛蓉 李恺 来源:yesky 2007年11月1日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
六、实例

  因为用Delphi创建和调用DLL,过程与用VC创建和调用DLL相似,只是前者代码要比在VC环境中稍微复杂一些,因此在文章的最后给出一个完整的用Delphi创建和调用DLL的例子。该DLL主要用来检查输入的口令是否正确,窗体含有一个Edit编辑框,一个按钮Button,在编辑框内输入口令,比较编辑框的值和输入参数返回真假值。

//文件名为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.


  以上程序在Windows98/Delphi5下编译通过。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章