delphi动态调用DLL

写了个1.dll内容如下libraryProject2;usesSysUtils,Classes;{$R*.res}functionabc(x,y:Integer):In... 写了个1.dll内容如下
library Project2;
uses
SysUtils,
Classes;

{$R *.res}
function abc(x,y:Integer):Integer;stdcall;
begin
Result:=x+y;
end;
exports
abc;
end.
如何动态调用它呢。
比如想实现Edit3.Text:=IntToStr(abc(strtoint(Edit1.Text),strtoint(Edit2.text)));效果,该咋办。
要求动态调用。
不对啊,调试通了,算不对。
展开
 我来答
keyiwenwo
2010-06-03 · TA获得超过8871个赞
知道小有建树答主
回答量:993
采纳率:100%
帮助的人:1049万
展开全部
var
dll:Cardinal;
pp:function(x,y:integer):integer;
begin
dll:=LoadLibrary(PChar('xx.dll'));
if dll<>0 then
begin
@pp:=GetProcAddress(dll, 'abc');
if @pp<>nil then
Edit3.Text:=inttostr(pp(strtoint(Edit1.Text),strtoint(Edit2.text)));
FreeLibrary(dll);
end;
end;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
母韶郝岑
2019-06-18 · TA获得超过3498个赞
知道大有可为答主
回答量:3058
采纳率:25%
帮助的人:200万
展开全部
Type
TkillPro=procedure;
//...
var
LibHandle:
THandle;
pro:TKillPro;
DLLFile:string;
begin
DLLFile:='你的DLL文件路径';
LibHandle:=LoadLibrary(pchar(DLLFile));
if
LibHandle<>HINSTANCE_ERROR
then
begin
@pro:=GetProcAddress(LibHandle,'Kill');
if
not
(@pro=nil)
then
Pro;//调用...
end;
end;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式