为何无法调用DLL文件?(100分)

  • 主题发起人 主题发起人 网上小兵
  • 开始时间 开始时间

网上小兵

Unregistered / Unconfirmed
GUEST, unregistred user!
本菜鸟最近在学习delphi的动态链接库编程,按照天极网上一篇文章编写如下代码:<br>其中DLL的程序代码如下:<br>library AddNum;<br>uses<br>SysUtils,<br>Classes;<br><br>{$R *.res}<br><br>function AddNumber(Num1,Num2:integer):integer;stdcall; //定义求和函数<br> begin<br>  result:=Num1+Num2;<br> end;<br>  exports<br>  AddNumber; //引出求和函数<br> begin<br>end. <br><br>主程序主要部分如下:<br>主程序在调用该DLL时,首先在interface部分声明要调用的函数:<br><br>function AddNum(Num1,Num2:integer):integer;stdcall;external 'AddNum.dll'<br>name 'AddNumber'; &nbsp;<br><br>  然后在按钮控件的事件中写入如下代码:<br><br>procedure TForm1.Button1Click(Sender: TObject);<br>var<br> Number1,Number2:integer; <br> Sum:integer;<br>begin<br> Number1:=strtoint(Edit1.Text);<br> Number2:=strtoint(Edit2.Text);<br> Sum:=AddNum(Number1,Number2); //调用求和函数计算结果<br> Edit3.Text:=inttostr(Sum);<br>end; <br><br>执行主程序,缺显示如下错误信息:<br>d:/borland/program/wsm/addnum.dll 文件已损坏,请重新安装此文件,然后再试一次。<br>本菜鸟根据其他教程编写的几个静态调用DLL实例,也显示如上的错误信息。<br>请问各位大侠这是什么原因,该如何解决?<br>
 
代码没有问题,重新build一下dll的源代码,再试试看.
 
代码运行正常<br>AddNumber; //引出求和函数<br>function AddNum(Num1,Num2:integer):integer;stdcall;external 'AddNum.dll'<br>name 'AddNumber';<br>调用时函数名大小写敏感
 
将AddNum都改为AddNumber试试<br>
 
为什么不用动态调用呢?
 
同意andriy的意见!
 
后退
顶部