FUNCTION int BUSINESS_HANDLE(ref string inputData,ref string outputData) LIBRARY "SiInterface.dll"
调用读卡函数:
string ls_dk_inputdata,ls_dk_outputdata=space(1024)
ls_dk_inputdata="931000^021002^0000^0002100200000000201104290222518653^20110429022251000210028652^0000^^"
BUSINESS_HANDLE(ls_dk_inputdata,ls_dk_outputdata)
执行该函数后,ls_dk_outputdata也给了卡上的基本信息(姓名,性别,卡号等等,一共60多项)
可当点运行时,然后读卡,读卡后关闭程序,pb就莫名的自动关闭了,请问这是为什么?
难道是东软给的函数有问题?
还是因为出参分配的内存空间不够,接口文档上说最少分配1024字节,我试图多分也不行
还有就是,读卡后我结算,再次读卡,就提示读卡错误,除非关闭程序再打开程序,就可以读卡了,也就是说每读一次卡,结算后,如果不关闭程序就不能进行下一个病号的读卡和结算操作,请问这是为什么?
------解决方案--------------------
- C# code
Integer li_appcode string ls_input , ls_output ls_input = space(5000) ls_output = space(5000) ls_dk_inputdata="931000^021002^0000^0002100200000000201104290222518653^20110429022251000210028652^0000^^" li_appcode = business_handle(ls_input , ls_output) if li_appcode <> 0 then messagebox('', "接口业务失败,调用business_handle出错信息:"+ls_output) return -1 end if return 1
------解决方案--------------------
可能是读卡后需要关闭端口之类的操作。然后才可以再次读卡
------解决方案--------------------
------解决方案--------------------
看看有没有handle_close之类的函数。