| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 114 人关注过本帖
标题:求助各位大佬,调用DLL的一段代码,实在弄不明白了,请大佬们赐教
只看楼主 加入收藏
qwdn
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2020-11-17
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
求助各位大佬,调用DLL的一段代码,实在弄不明白了,请大佬们赐教
DLL的定义是这样的:
函数声明: long ICC_Reader_PowerOn (long ReaderHandle,unsigned char
ICC_Slot_No,unsigned char* Response)
参数说明:
ReaderHandle: 设备句柄;
ICC_Slot_No: ICC 连接器号, 0x01--ICC主卡座,0x11--SAM1
卡,0x12--SAM2 卡 ,0x13--SAM3卡,0x14--SAM4 卡;
Response: 指向存放响应数据的存储区的指针。
——————————————————————————
我写的代码是这样的(没严格写,参考了吹水大佬的写法哈):
DECLARE long ICC_Reader_Open IN F4_MDS.dll string
aaa=icc_reader_open("AUTO")
DECLARE long ICC_Reader_PowerOn IN F4_MDS.dll long ,string ,string@
bb="0x01"
cc=REPLICATE(0h00,200)
ddd=ICC_Reader_PowerOn(aaa,bb,@cc)

然后就ddd值是-14,错误是:F_ParameterError,(动态库)命令参数错误
我将bb改为0h01,也是不行,怎么弄都不成了,请大佬们指教哈!


[此贴子已经被作者于2020-11-17 21:24编辑过]

附件: 游客没有浏览附件的权限,请 登录注册
搜索更多相关主题的帖子: 调用 DLL string 代码 long 
2020-11-17 21:01
qwdn
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2020-11-17
收藏
得分:0 
回复 楼主 qwdn
改成这样,能跑过去了,但不知道对不对。
DECLARE long ICC_Reader_PowerOn IN F4_MDS.dll long ,long ,string@
bb=0x01
cc=REPLICATE(0h00,200)
ddd=ICC_Reader_PowerOn(aaa,bb,@cc)

[此贴子已经被作者于2020-11-17 22:01编辑过]

2020-11-17 21:43
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:276
帖 子:7620
专家分:34082
注 册:2014-5-20
收藏
得分:20 
以下是引用qwdn在2020-11-17 21:43:10的发言:

改成这样,能跑过去了,但不知道对不对。
DECLARE long ICC_Reader_PowerOn IN F4_MDS.dll long ,long ,string@
bb=0x01
cc=REPLICATE(0h00,200)
ddd=ICC_Reader_PowerOn(aaa,bb,@cc)

应该对的
unsigned char 是无符号BYTE,数值在 0x00 -- 0xFF
VFP的 DECLARE 命令中参数的数值类型有INTEGER和LONG
2020-11-17 22:33
qwdn
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2020-11-17
收藏
得分:0 
回复 3楼 吹水佬
多谢大佬指点!
2020-11-17 22:41
快速回复:求助各位大佬,调用DLL的一段代码,实在弄不明白了,请大佬们赐教
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.074285 second(s), 8 queries.
Copyright©2004-2020, BCCN.NET, All Rights Reserved