以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  我想问:2020年1月12日更新 的版本 目前稳定吗?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=145355)

--  作者:xiaoqiwei
--  发布时间:2020/1/17 0:44:00
--  我想问:2020年1月12日更新 的版本 目前稳定吗?
我想问:2020年1月12日更新 的版本 目前稳定吗?
--  作者:chen37280600
--  发布时间:2020/1/17 8:31:00
--  
我手上的几十个项目,还正常。或者说,我常用的代码,在本次升级里没被官方改动
--  作者:xiaoqiwei
--  发布时间:2020/1/17 12:07:00
--  
那还好,谢谢
[此贴子已经被作者于2020/1/18 0:05:36编辑过]

--  作者:sloyy
--  发布时间:2020/1/17 16:07:00
--  
用到串口的话,暂不要升级,还存在bug.
--  作者:狐狸爸爸
--  发布时间:2020/1/17 16:10:00
--  
串口没有bug
--  作者:sloyy
--  发布时间:2020/1/19 16:26:00
--  
可能我表述不清楚,再描述一次:

\'打开串口
try
Ports.Add("COM1")
With Ports("COM1")
    .Close()
    .Parity = Parity.None
    .Handshake = Handshake.None
    .StopBits = StopBits.One
    .BaudRate = 2400
    .DataBits = 8
    .ReadBufferSize() = 2048
    .WriteBufferSize() = 2048
    .Open
dkbz=True
End With
Catch ex As Exception
    dkbz=False
End Try
这段代码是复制帮助的代码,在一个项目使用了一年多,一直没问题.
从2019年12月20日升级新版本后,在没有串口的机子上运行,就会判断错误,弹出 "端口 com1 不存在的错误提示",然后陷入死循环.
在有串口的机子上,经常刚开机的时候会弹出"端口com1 已关闭" 的提示,同样陷入死循环,然后,重启电脑,就正常了.
现在一出这个端口已关闭的提示,我也只好让操作员重启一两次电脑,直到正常,.但大部分时间不会出错,很让人抓狂.


--  作者:有点蓝
--  发布时间:2020/1/19 16:50:00
--  
Ports.Add("COM1")
Dim hasCom1 As Boolean
For Each sp As String In Ports.PortNames
    If sp = "COM1" Then
        hasCom1 = True
exit for
    End If
Next
If hasCom1
    With Ports("COM1")
        .Close()
        .Parity = Parity.None
        .Handshake = Handshake.None
        .StopBits = StopBits.One
        .BaudRate = 2400
        .DataBits = 8
        .ReadBufferSize() = 2048
        .WriteBufferSize() = 2048
        .Open
    End With
Else
    msgbox("没有com1")
End If


--  作者:sloyy
--  发布时间:2020/1/19 17:33:00
--  
谢谢有点蓝大师,这段代码,经试验非常成功,端口判断,我已全部改用这段代码.

那是不是以后 
try  

Catch ex As Exception
    
End Try
这段代码不能用来判断串口状态了?
如果是这样,帮助文档对应的代码也要做相应修改,否则会误导后人. 

--  作者:有点蓝
--  发布时间:2020/1/19 17:35:00
--  
try  Catch在有些地方还是以使用的。可能底层的一些改动导致串口不对外抛出异常,自己消化了,才出现这个问题。