SajetConnect.dll调用的问题

2019-07-17 20:06发布

delphi中   #DLL宣告如下:
function SajetTransData(f_iCommandNo : integer;f_pData,f_pLen : pointer) : boolean; stdcall;

#传入变数:
f_iCommandNo:型态为integer指定此次资料所要执行的工作,相关说明请参阅Dirver说明-Function COMMAND

f_pData:型态为pointer,其值为一连续记忆体空间(例如ARRAY OF BYTE)的起始位置, 当USER传送一字串资料给MES系统,则依序将值填入到这个记忆体空间,当执行完FUNCTION后,MES系统也会将要回传的资料放到这个记忆体空间,这个记忆体空间的可为动态阵列或固定阵列,但最小长度须为100,以让MES系统存放回传讯息

f_pLen:型态为integer的pointer,用来储放f_pData内资料的有效长度,当要执行function前,将要传送资料的长度存放到此pointer所指定的 integer变数,当执行结束后,此pointer所指定的interger会存放回传资料的有效长度,可根据此长度取得回得回传讯息。
11.png
这是现在用的设置方式,但是一直报1097的错误,f_pData需要怎样设置,请明白的大侠指导一下
SajetConnect.rar 下载积分: 积分 -1 分
263 KB, 下载次数: 48, 下载积分: 积分 -1 分
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
banshouren4077
1楼-- · 2019-07-17 22:37
dll函数声明都写了“stdcall”了,当时就该知道用WINAPI…… 最佳答案
happyarrow
2楼-- · 2019-07-18 02:30
指针那个参数,换成整形32位数值。最后那个设置数值或指针的,换成指针。

lazy-zq
3楼-- · 2019-07-18 06:10
试了一天,终于找到原因了,这个dll要用WINAPI的规范调用,参数是正确的
欢迎以后遇到此问题的同学联系,18662602423
fengye_826
4楼-- · 2019-07-18 11:11
 精彩回答 2  元偷偷看……

一周热门 更多>