hur.cn - 华软网

 热门搜索

各位大侠,谁能解决此问题,请教!

  作者:未知    来源:网络    更新时间:2018/10/11
我做一称重软件,要从COM1读取地磅数据,在窗口建一OLE控件,可是运行后没数据显示.请见教!

窗口OPEN代码以下:

f_autocenter(this,w_parent,1)
title=is_title
dw_work.settransobject(sqlca)
//st_cheng.text=string(g_pub.chenginitdata)//称重初始化数据
//dw_work.dataobject=''
cb_weight.enabled=true
cb_save.enabled=false
m_qiche.m_称重计量.m_二次计量.enabled=false
m_qiche.m_基础数据维护.m_1.enabled=false

if mscomm_cheng.object.portopen=false then
mscomm_cheng.object.CommPort = gs_com_no //选用串行口
mscomm_cheng.object.Settings ="2400,e,7,1"  //选用串行口
mscomm_cheng.object.portopen=true


end if

 cb_insert.event clicked()
 timer(1)

控件代码以下:
if mscomm_cheng.object.CommEvent= 2  then //comEvReceive   ' 收到 RThreshold # of chars.
is_weight_input = mscomm_cheng.object.Input
is_weight_crlf = "ST" 
ii_weight_crlf = pos(is_weight_input,is_weight_crlf)
   IF ii_weight_crlf>0 then
ib_static_flag=true
   end if
   is_weight_crlf = "kg" + Char(13) + Char(10)
   ii_weight_crlf = pos(is_weight_input,is_weight_crlf)
   If ii_weight_crlf <= 9 Then
      ii_weight_crlf = pos(is_weight_input,is_weight_crlf,18)
   End If
   If ii_weight_crlf <> 0 Then
      is_weight_input = trim(Mid(is_weight_input, ii_weight_crlf - 8, 8))
   id_weight_value=dec(is_weight_input)
//      st_cheng.text=string(id_weight_value)
st_cheng.text=is_weight_input
end if 
end if

------华软网友回答------
有超级终端程序看时候接收到数据试一下
如果没有数据,就不是代码的问题了
------华软网友回复------
用超级终端试的好好的,另外,这些源码是朋友给找来的,是统一个软件带来的,我重新做了改动就不行了,我只是改动的窗口,字体什么的,另外没动呀?
------华软网友回复------
那你的控件版本是否对呢?
------华软网友回复------
mscomm_cheng.object.CommPort = gs_com_no

你好像用的是字符型

-------------------------------------
CommPort属性 设置并前往通讯端口号。
语法 object.CommPort[value ] (value 一整型值,说明端口号。) 
说明 在设计时,value 能够设置成从 1 到 16 的所有数(缺省值为 1)。然则如果用 PortOpen 属性打开一个其实不存留的端口时,MSComm 控件会产生毛病 68(设备无效)。
注意:必需在打开端口之前设置 CommPort 属性。      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。