关于vb与pb的转换问题,急!

anda_cr 2004-11-09 02:31:21
declare function icc_tsi_api lib"crwicc.dll"(byval fd as long,byval lenc as byte,byval comm as string,byref lenr as byte,byval resp as string)as integer
Global fd as long
private sub cpucommand_click()
dim comm,resp as string
dim lenc,lenr as byte
dim tsiapireturn as integer
tsiapireturn = 0
comm = string(250,vbnullstr)
resp = string(250,vbnullstr)
print"create mf:"
comm = chr(28)+chr(14)+chr(0)+chr(0)+chr(0)
lenc = 5
tsiapireturn = icc_tsi_api(fd,lenc,comm,lenr,resp)
print hex(tsiapireturn)

上面一段vb程序如何改写成pb?请各位赐教,谢谢!
...全文
79 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
anda_cr 2004-11-11
  • 打赏
  • 举报
回复
icc-api-tsi为外部动态库函数
anda_cr 2004-11-11
  • 打赏
  • 举报
回复
大家怎么不回答我呀,请大家指教教!
li_d_s 2004-11-10
  • 打赏
  • 举报
回复
对,应该用char,但是这种报错就很难说是怎么回事情了,最好能用vc跟踪到dll里面去看
anda_cr 2004-11-10
  • 打赏
  • 举报
回复
请问怎么回事?
anda_cr 2004-11-10
  • 打赏
  • 举报
回复
我做的时候把byte改成char了,最后运行的时候会出现pb60.exe应用程序错误,“0x030343B8”指令引用胡“0X000000000”内存,该内存不能为written,”要终止程序,请单击确定,要调试程序,请单击“取消”。
anda_cr 2004-11-10
  • 打赏
  • 举报
回复
pb中有byte吗?
anda_cr 2004-11-10
  • 打赏
  • 举报
回复
怎么用vc啊?还有一个问题,我现在要把0084000008这一串随机数(16进制)写到卡上,用的是cpu卡提供的动态库函数,函数里面相关数据都写对了,但是怎么也写不到卡上,我的程序是这样的
int fd//fd为打开的端口描述符
string comm,resp//comm为写到卡上的数据,resp为返回的数据
int commlen,resplen//commlen为写到卡上数据的长度,resplen为返回的数据长度
int retcode//retcode为返回值,9000(16进制)为成功
comm=“0084000008”
commlen=10
retcode =icc-api-tsi(fd,commlen,comm,resplen,resp)
结果就是取不到随机数,请问是什么原因啊?我把comm定义成comm = char(0)+char(0)+char(132)+char(0)+char(0)+char(0)+char(0)+char(0)+char(8)也不对,真是不知道该怎么办了?急啊,请大家指教!!!!!
li_d_s 2004-11-09
  • 打赏
  • 举报
回复
声明外部函数:global extenal function
Function int icc_tsi_api(long fd, byte lenc, String comm, ref byte lenr, String resp) library "crwicc.dll"

声明全局变量:global variable÷
Long fd

窗口上增加一按钮,Click事件代码如下:
String comm, resp
byte lenc, lenr
int tsiapireturn

tsiapireturn = 0
comm = space(250)
resp = space(250)
comm = char(28) + char(14) + char(0) + char(0) + char(0)
lenc = 5
tsiapireturn = icc_tsi_api(fd, lenc, comm, lenr, resp)

messagebox("",String(tsiappireturn))

原代码最后打印出来的是转换成16进制的结果,这点可能有点误差

1,075

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧