以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关闭串口  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=132444)

--  作者:lk15502
--  发布时间:2019/3/22 8:04:00
--  关闭串口
在窗口中有一个按钮-关闭串口;代码如下:
If e.Sender.Text = "关闭串口" Then
    Ports("com4").Close
    e.Sender.Text = "打开串口"
End If
If e.Sender.Text = "打开串口" Then
    Ports("com4").Open
    e.Sender.Text = "关闭串口"
End If
出现如下错误;请问老师什么原因?
.NET Framework 版本:2.0.50727.8800
Foxtable 版本:2018.10.9.1
错误所在事件:窗口,唛头打印,关闭串口,Click
详细错误信息:
给定关键字不在字典中。


--  作者:有点蓝
--  发布时间:2019/3/22 11:25:00
--  
"com4"这个串口吗,有的电脑最多只有com3
--  作者:lk15502
--  发布时间:2019/3/22 11:29:00
--  
有的,这是USB-RS232线,是这样的,可以确定


--  作者:有点甜
--  发布时间:2019/3/22 11:34:00
--  

 

你没有执行,如 ports.add("COM4") 这样的代码吧?

 

 


--  作者:有点甜
--  发布时间:2019/3/22 11:35:00
--  

使用前,必须先添加端口的

 

http://www.foxtable.com/webhelp/scr/1966.htm

 


--  作者:lk15502
--  发布时间:2019/3/22 13:13:00
--  
已经添加了
--  作者:lk15502
--  发布时间:2019/3/22 14:33:00
--  
是不是代码有什么问题,我改成这样也没有想要的变化:
Dim ck As WinForm.Button = e.Form.Controls("关闭串口")
If ck.Text = "关闭串口" Then
    ck.Text = "打开串口"
End If
If ck.Text = "打开串口" Then   
    ck.Text = "关闭串口"
End If

--  作者:lk15502
--  发布时间:2019/3/22 14:48:00
--  
有问题会陷入循环的,老师应该怎么写代码??
--  作者:有点甜
--  发布时间:2019/3/22 14:52:00
--  

改成

 

Dim ck As WinForm.Button = e.Form.Controls("关闭串口")
If ck.Text = "关闭串口" Then
    ck.Text = "打开串口"
ElseIf ck.Text = "打开串口" Then   
    ck.Text = "关闭串口"
End If


 


--  作者:lk15502
--  发布时间:2019/3/22 14:56:00
--  
按钮的标题是可以改了,关闭打开串口的操作,还是和原来一样报错??