德能产品技术论坛

  
发帖人: 小飞侠
发布时间: 2016-11-22 17:05:57
标题:为什么我的DEN500B接口代码(PB)一运行就出错
我按照论坛上DEN-500B PB9实例写的接口代码,
...
clear_all()
ls_txt=iw_hjsf.is_mzxx.brxm
show_general_sf(ls_txt,'',1)
ll_ysk=ad_ysje *100
ll_ssk=ad_ssje *100
ll_tk= ll_ssk -ll_ysk
if not show_payment_info(ll_ysk, ll_ssk, 0, 4) then
show_payment_info(ll_ysk, ll_ssk, ll_tk, 4)
end if
...
运行到show_general_sf的时候系统就弹出错误提示"NjfEcho已停止运行",然后DEN-500B界面就没了。
这是怎么回事?


Replies to this message
Re: 为什么我的DEN500B接口代码(PB)一运行就出错 - 版主 - 17:09 11/22/2016
> 我按照论坛上DEN-500B PB9实例写的接口代码,
> ...
> clear_all()
> ls_txt=iw_hjsf.is_mzxx.brxm
> show_general_sf(ls_txt,'',1)
> ll_ysk=ad_ysje *100
> ll_ssk=ad_ssje *100
> ll_tk= ll_ssk -ll_ysk
> if not show_payment_info(ll_ysk, ll_ssk, 0, 4) then
> show_payment_info(ll_ysk, ll_ssk, ll_tk, 4)
> end if
> ...
> 运行到show_general_sf的时候系统就弹出错误提示"NjfEcho已停止运行",然后DEN-500B界面就没了。
> 这是怎么回事?

不要直接调用 show_general_line(), 这种函数只是用来作示例的
你需要做的是给每一行的Key和Value赋值(用不到的行赋空串),然后调用refreshdisplay()一次头显示出来

不要用clear_all的方式清屏,而是要把不需要显示的行的Key和Value清掉
比如,清掉第5行的内容,就用
buffer_key[5] = ""
buffer_value[5] = ""

或者,把你的代码改成下面这样,就可以了:

int i
//clear_all()
for i=1 to 7
buffer_key[i]=""
buffer_value[i]=""
next

ls_txt="张三"//iw_hjsf.is_mzxx.brxm
show_general_sf(ls_txt,'',1)
ll_ysk=ad_ysje *100
ll_ssk=ad_ssje *100
ll_tk= ll_ssk -ll_ysk
if not show_payment_info(ll_ysk, ll_ssk, 0, 4) then
show_payment_info(ll_ysk, ll_ssk, ll_tk, 4)
end if