首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

Delphi如何用Dll

2012-08-30 
Delphi怎么用Dll我写了一个dlllibrary dllTestusesSysUtils,Classes{$R *.res}function Max(x,y,z:integ

Delphi怎么用Dll
我写了一个dll
library dllTest;
uses
  SysUtils,
  Classes;

{$R *.res}

function Max(x,y,z:integer):integer; export;
begin
  result:=x;
  if x>y then result:=x;
  if Result<Z then result:=Z;
end;

exports Max;

begin
end.
又写了一个用dll的程序
unit usingDll;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm3 = class(TForm)
  Edit1: TEdit;
  Edit2: TEdit;
  Edit3: TEdit;
  Button1: TButton;
  procedure Button1Click(Sender: TObject);
  private
  { Private declarations }
  public
  { Public declarations }
  end;

var
  Form3: TForm3;
  function max(x,y,z:integer):integer; external 'DllTest.dll' ;

implementation

{$R *.dfm}

procedure TForm3.Button1Click(Sender: TObject);
var n1,n2,n3:integer;
begin
  n1:=strtoint(edit1.Text);
  n2:=Strtoint(edit2.Text);
  n3:=strtoint(edit3.Text);
  showmessage(inttostr(Max(n1,n2,n3)));
end;

end.
但是运行的时候出错误了 Entry point not found
can't locate max in dynamic library dlltest.dll
请问高手我哪里错了呢

[解决办法]
DllTest.dll里定义的函数是:
function Max(x,y,z:integer):integer; export;
调用时是: 
function max(x,y,z:integer):integer; external 'DllTest.dll' ;
自然就找不到入口点了,调用时改为:
......
function Max(x,y,z:integer):integer; external 'DllTest.dll' ;//大小写一致
......

热点排行