C#两个类之间变量的变化(串口调用的时候出现了问题)

wumin940590725 2013-04-03 04:14:14

这个是我的串口打开之后出现的问题,我从另一个类中调用这个类的close事件,结果这个类的串口竟然出现了NULL这个改变。。。。。。不太清楚发生了什么,希望有人能回答下。
我觉得不爽之后决定直接在这个类中直接进行serialport关闭行为,出现了上面这种错误
有人能告诉我该怎么改吗
...全文
221 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wumin940590725 2013-04-07
  • 打赏
  • 举报
回复
引用 1 楼 bdmh 的回复:
你直接调用close事件,能保证port肯定不为空吗,肯定创建了吗
rs232Module.Open(sPorts[i], 4800, System.IO.Ports.Parity.None, 8, System.IO.Ports.StopBits.One) public bool Open(String strCommNo, int nBaud, Parity parity, int bits, StopBits stopBits) { if (strCommNo == null || strCommNo.Length == 0) return false; if (m_CommPort != null && m_CommPort.IsOpen) return true; m_CommPort = new SerialPort(strCommNo, nBaud, parity, bits, stopBits); m_CommPort.Handshake = Handshake.None; //m_CommPort.ReadTimeout = 5000; try { m_CommPort.Open(); Console.WriteLine("COMM Port " + strCommNo + " is open"); } catch { Console.WriteLine("!!! Error COMM Port " + strCommNo); return false; } return true; } 这个上面是打开端口,那么我要关闭窗口怎么弄啊?窗口一直没法关。。。。。。
wumin940590725 2013-04-06
  • 打赏
  • 举报
回复
引用 1 楼 bdmh 的回复:
你直接调用close事件,能保证port肯定不为空吗,肯定创建了吗
private void buttonEtt_Click(object sender, EventArgs e) { ETT985Form newForm = new ETT985Form(); this.Hide(); newForm.Show(); } 这个是我的调用界面的button,但是按了之后没到ETT985到了waitform这个界面,是为什么?这个界面就是显示了一个等待界面。 public static void showWaitForm(Form form) { if (formPlaseWait != null) MessageBox.Show("NOT NULL showWaitForm"); form.Invoke((MethodInvoker)delegate { formPlaseWait = new FormPleaseWait(); formPlaseWait.ShowDialog(form); }); } 这个是因为委托吗?我就是这个看不懂所以不知道程序到底怎么运行,所以没办法修改。帮帮忙感激不净,如果有什么需要了解的请说
太阳丛 2013-04-05
  • 打赏
  • 举报
回复
端口成功打开时,除了一个成功的标示值以外,还应该有个大于0的返回值(我的串口设备是这样的) 当你关闭端口的时候,是否引用了这个返回值? 简单点说,就是你关闭的端口是不是你刚才打开的端口
wumin940590725 2013-04-05
  • 打赏
  • 举报
回复
引用 5 楼 good_tong 的回复:
端口成功打开时,除了一个成功的标示值以外,还应该有个大于0的返回值(我的串口设备是这样的) 当你关闭端口的时候,是否引用了这个返回值? 简单点说,就是你关闭的端口是不是你刚才打开的端口
我有截图的,第一个是打开,第二个是过程中,第三个是返回到那个类调用中的时候出现了问题,变成了NULL。
wumin940590725 2013-04-03
  • 打赏
  • 举报
回复
引用 3 楼 good_tong 的回复:
先判断端口的状态,如果是OPEN 则关闭
你能讲细点嘛?我出的问题就像版主说的port改变之后成了NULL,原来是有串口的
太阳丛 2013-04-03
  • 打赏
  • 举报
回复
先判断端口的状态,如果是OPEN 则关闭
wumin940590725 2013-04-03
  • 打赏
  • 举报
回复
引用 1 楼 bdmh 的回复:
你直接调用close事件,能保证port肯定不为空吗,肯定创建了吗
我出现的问题就是直接调用之后出现了port变为空了。不知道怎么改了。
bdmh 2013-04-03
  • 打赏
  • 举报
回复
你直接调用close事件,能保证port肯定不为空吗,肯定创建了吗

111,125

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧