M
madm
Unregistered / Unconfirmed
GUEST, unregistred user!
sztapp.dll 内有一个函数 ,在delphi中如何调用
int _stdcall Ifn_QueryStatus_USER(char * CommPort, char * ret1, char * ret2, char * ret3, char * ret4, unsigned long * ret5, char * ret6, int * ret7, int * ret8, char * ret9);
//设备状态查询
//输入参数:
//CommPort: 端口号, COM1、COM2 - COM4
//输出参数:
//ret1: SAMID, 8BYTE ASCII-BCD (SAMID 内容 0x00 0x00 0x01 0x21 表示为 "00000121")
//ret2: 编号 9BYTE Number
//ret3: 设备软件版本号 10BYTE ASCII
//ret4: 设备状态字 32BYTE BIN-Number (数据内容0101表示,参考深圳通小额消费设备接口设计 5.3设备状态定义)
//ret5: 当前剩余额度 unsigned long
//ret6: 当前额度参数名 28Byte ASCII
//ret7: 当前未上传交易记录数 INT
//ret8: 当前未上传灰记录数 INT
//ret9: 当前设备时间信息 16BYTE Number yyyyMMddHHmmssww(y年,M月,d日,H时,m分,s秒,w星期)
我是这样写的,但有问题,请写直接清楚
定义:
function Ifn_QueryStatus_USER(CommPortchar; var ret1, ret2, ret3, ret4: pchar;
var ret5:Longword ; var ret6char;var ret7, ret8:integer;var ret9char):INTEGER;
stdcall; external 'sztapp.dll';
引用:
var r1 Char;
r2 Char;
r3 Char;
r4 Char;
r6 Char;
r9 Char;
r5:Longword ;
E,r7,r8:integer;
begin
r1:=StrAlloc(8);
r2:=StrAlloc(9);
r3:=StrAlloc(10);
r4:=StrAlloc(32);
r6:=StrAlloc(28);
r9:=StrAlloc(16);
E:=Ifn_QueryStatus_USER(pchar(ComboBox1.TEXT),r1,r2,r3,r4,r5,r6,r7,r8,r9);
Memo1.Lines.Add(INTTOSTR(E));
Memo1.Lines.Add(r1);
Memo1.Lines.Add(r2);
Memo1.Lines.Add(r3);
Memo1.Lines.Add(r4);
Memo1.Lines.Add(r6);
Memo1.Lines.Add(r9);
函数可用执行但是返回的值都不对!
int _stdcall Ifn_QueryStatus_USER(char * CommPort, char * ret1, char * ret2, char * ret3, char * ret4, unsigned long * ret5, char * ret6, int * ret7, int * ret8, char * ret9);
//设备状态查询
//输入参数:
//CommPort: 端口号, COM1、COM2 - COM4
//输出参数:
//ret1: SAMID, 8BYTE ASCII-BCD (SAMID 内容 0x00 0x00 0x01 0x21 表示为 "00000121")
//ret2: 编号 9BYTE Number
//ret3: 设备软件版本号 10BYTE ASCII
//ret4: 设备状态字 32BYTE BIN-Number (数据内容0101表示,参考深圳通小额消费设备接口设计 5.3设备状态定义)
//ret5: 当前剩余额度 unsigned long
//ret6: 当前额度参数名 28Byte ASCII
//ret7: 当前未上传交易记录数 INT
//ret8: 当前未上传灰记录数 INT
//ret9: 当前设备时间信息 16BYTE Number yyyyMMddHHmmssww(y年,M月,d日,H时,m分,s秒,w星期)
我是这样写的,但有问题,请写直接清楚
定义:
function Ifn_QueryStatus_USER(CommPortchar; var ret1, ret2, ret3, ret4: pchar;
var ret5:Longword ; var ret6char;var ret7, ret8:integer;var ret9char):INTEGER;
stdcall; external 'sztapp.dll';
引用:
var r1 Char;
r2 Char;
r3 Char;
r4 Char;
r6 Char;
r9 Char;
r5:Longword ;
E,r7,r8:integer;
begin
r1:=StrAlloc(8);
r2:=StrAlloc(9);
r3:=StrAlloc(10);
r4:=StrAlloc(32);
r6:=StrAlloc(28);
r9:=StrAlloc(16);
E:=Ifn_QueryStatus_USER(pchar(ComboBox1.TEXT),r1,r2,r3,r4,r5,r6,r7,r8,r9);
Memo1.Lines.Add(INTTOSTR(E));
Memo1.Lines.Add(r1);
Memo1.Lines.Add(r2);
Memo1.Lines.Add(r3);
Memo1.Lines.Add(r4);
Memo1.Lines.Add(r6);
Memo1.Lines.Add(r9);
函数可用执行但是返回的值都不对!