delphi 调用c++ dll 问题出错

我用delphi要用一个板卡的dll中的函数,但是厂家给的例子是c++的,我想用delphi做,但是总是不能成功,说明书中的函数原型BOOL_stdcallAEC429C... 我用delphi要用一个板卡的dll中 的函数,但是厂家给的例子是c++的,我想用delphi做,但是总是不能成功,说明书中的
函数原型BOOL_stdcall AEC429C5_Close(HDEICE hAEC429C5 , BYTE Cardld)
参数说明:phAEC429C5:指针变量,用来存放板卡的句柄
CardId:板卡编号,取值范围为0 ~ 7
我的delphi代码为
implementation
type
h=^thandle;
function AEC429A_Open(pheac429A:THandle;cardid:Char):Boolean;cdecl;external'AEC429C5.dll';

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
handle:thandle;
begin
if AEC429A_Open(handle,'0') then
ShowMessage('ok')
end;
运行提示错误:无法定位程序输入点AEC429A_Open与动态链接库AEC429C5.dll;
首先谢谢两位的回答,上边是我打错了,是AEC429A_Open,我cdecl换为stdcall也试过了,但是还是有问题这个问题,麻烦各位高手看一下,谢谢了
展开
 我来答
wskjuf
2011-09-26 · TA获得超过1289个赞
知道大有可为答主
回答量:1731
采纳率:0%
帮助的人:1776万
展开全部
把delphi函数中的cdecl换为stdcall试一试。问题的原因很简单,就是两边命名不一致导致的,实在不能解决的话,建议看一下网上相关的资料,已经足够丰富的了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
perbook
2011-09-26
知道答主
回答量:7
采纳率:0%
帮助的人:1.1万
展开全部
函数是AEC429C5_Close

用的是AEC429A_Open,如何能定为到dll入口.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangwulin_me
2011-09-27 · 超过14用户采纳过TA的回答
知道答主
回答量:71
采纳率:0%
帮助的人:43.1万
展开全部
你Depends看看DLL的函数明吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
385878234
2011-09-27 · 超过24用户采纳过TA的回答
知道答主
回答量:57
采纳率:0%
帮助的人:59.5万
展开全部
应该是类型的问题吧,你声明的板卡编号跟人家的Dll声明的板卡编号不一致,如何能调用它?另外别忘了把人家的Dll弄到程序目录那里去,隔得太远了,它们互相也会不认识的~~~~
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式