delphi 编写DLL与实际调用小案例

本文简单介绍了一下在delphi 7中对dll文件得调用和dll文件得生成!
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Label3: TLabel;
    Edit3: TEdit;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Label4: TLabel;
    Label5: TLabel;
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
function Max(a,b:integer):integer;stdcall;External'project2.dll';
function Min(a,b:integer):integer;stdcall;External'project2.dll';

{上面是调用dll中得函数}
{$R *.dfm}
procedure TForm1.Button2Click(Sender: TObject);
begin
  edit1.Text:='';
  edit2.Text:='';
  edit3.Text:='';
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
  close;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
  a,b:integer;
begin
   label3.Caption:='MAX';
   if (edit1.Text='') and (edit2.Text='') then
     edit3.text:='请检查你得输入,输入不能为空!'
   else
     begin
       a:=strtoint(edit1.Text);
       b:=strtoint(edit2.Text);
       edit3.Text:=inttostr(Max(a,b));
     end;
end;
{上面是调用dll文件中得Max函数}
procedure TForm1.Button4Click(Sender: TObject);
var
  a,b:integer;
begin
   label3.Caption:='MIN';
   if (edit1.Text='') and (edit2.Text='') then
     edit3.text:='请检查你得输入,输入不能为空!'
   else
     begin
       a:=strtoint(edit1.Text);
       b:=strtoint(edit2.Text);
       edit3.Text:=inttostr(Min(a,b));
     end;
end;
{上面是调用dll文件中得Min函数}
end.
{上面是主窗体中得定义}
{下面完成对dll文件得申明和定义}
library Project2;
uses
  SysUtils,
  Classes;
{$R *.res}
function Max(a,b:integer):integer;stdcall;
begin
  Max:=a;
  if b>a then
    Max:=b;
end;
exports
Max;
function Min(a,b:integer):integer;stdcall;
begin
  Min:=a;
  if b<a then
    Min:=b;
end;
exports
Min;
begin
end.

说明: 对于涉及到数据库的实例,在使用前都需要遵守下面的步骤。 假设数据库名称为“1234” 1.在SQL Server 2000中建立一个新的数据库,名称为“1234”。然后右键单击“1234”,在弹出的菜单中,选择“还原数据库”命令。在弹出来的对话框中单击“从设备”子面板,单击“选择设备”。将本目录下的名称为“1234”的数据库还原即可。 2.在程序中将ADOConnection的连接字符串改成本机的设置。 example 8 批量制作邀请函 数据库名称为“31th” example 24 商场收银系统-ADO篇 数据库名称为“21Chapter” example 25 用户管理系统-InterBase篇 数据库名称为:“YLSYSDB.GDB”,请将它放在C盘,因为程序中默认的路径为C盘根目录。 运行程序前,必须先运行“第三方组件”目录下的InterBase安装程序。 example 26 用户管理系统-DbExpress篇 数据库名称为“YLSYSDB.GDB”,与实例25一样,数据库文件放在实例25目录中 example 29 数据导出系统 数据库名称为“21Chapter”,与实例24一样,数据库文件放在实例24目录中 example 33 超市票据打印-FastReport篇 数据库名称为:“30th”,运行程序前,必须先运行“第三方组件”目录下的FastReport第三方组件,具体方法见书中说明。 example 34 个人通讯录管理系统 数据库名称为“AddressList”,它是Access数据库,使用前必须先安装Access应用程序。另外还必须安装“第三方组件”目录下的XPMenu第三方组件,具体方法见书中说明。 example 35 图书进销存系统 数据库名称为“PublishBook” d
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值