通过VFP编程让“POS收银机显示屏”显示数据中遇到的问题如何解决?
有一台“好易通TM”牌的pos收银机,安装了用VFP编的商品销售运行软件,因供应商未提供VFP编程的屏显程序,所以采用了通用的“POS收银机显示屏”显示数据的屏显程序如下:
diyledform=createobject('form')
diyledform.addobject("MSComm1","olecontrol","mscommlib.mscomm")
diyledform.MSComm1.commport=1
diyledform.MSComm1.settings="2400,S,8,1"
if diyledform.mscomm1.portopen=.f. then
diyledform.mscomm1.portopen=.t.
endif
diyledform.mscomm1.outbuffercount=0
PDStr=Chr(27)+Chr(81)+Chr(65)+"1234.56"+Chr(13)
diyledform.MSComm1.Output = PDStr
diyledform=createobject('form')
diyledform.addobject("MSComm1","olecontrol","mscommlib.mscomm")
diyledform.MSComm1.commport=1
diyledform.MSComm1.settings="2400,S,8,1"
if diyledform.mscomm1.portopen=.f. then
diyledform.mscomm1.portopen=.t.
endif
diyledform.mscomm1.outbuffercount=0
PDStr=Chr(27)+Chr(115)+”2”
diyledform.MSComm1.Output = PDStr
(说明:以上为显示总计:1234.56的屏显程序,在多台其他型号的POS收银机上运行正常。)
但在该台“好易通TM”牌的pos收银机上运行时出现了以下错误提示:
1、在运行到第6行“diyledform.mscomm1.portopen=.t.”时出现了出错提示:
“ OLE IDispatch 异常代码 O 出自WSComm:port already open. ”
2、在运行到第9行“PDStr=Chr(27)+Chr(81)+Chr(65)+"1234.56"+Chr(13)”时出现了出错提示:
“ 函数参数的值、类型或数目无效. ”
3、在运行到最后一行“diyledform.MSComm1.Output = PDStr ”时出现了出错提示:
“ OLE IDispatch 异常代码 O 出自WSComm: Operation valid only when the pot is open .”
敬向电脑专家请教,该如何编程,才能使这台“好易通TM”牌的pos收银机的显示屏正确显示数据,不胜感激!
[解决办法]
第一个错误是原始错误, 因为串口打不开, 已经被其他程序打开, 看一下是否运行了其他程序或运行了2遍
[解决办法]