C# 串口异常操作导致“com拒绝访问”

zhouchenguang 2010-07-12 05:15:23
Winform窗体,正在串口收发数据。用户异常操作,关闭窗体。再次启动该窗体,发生“com3拒绝访问”。
...全文
1926 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
你個臭鴨蛋 2012-05-15
  • 打赏
  • 举报
回复
这是一个古老的神贴,不知道LZ结贴没有?我想问问如果串口异常拔出之后,我程序退出时有对资源进行释放,但是好像是放不成功,各位大大,请问下该怎么解决呢?
happyer_longlong 2010-07-12
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 zhouchenguang 的回复:]
事件中,我已经加入了串口Dispose。
[/Quote]
软件 已经释放,硬件 还没释放
wuyq11 2010-07-12
  • 打赏
  • 举报
回复
串口是独占方式打开的。
释放资源
捷哥1999 2010-07-12
  • 打赏
  • 举报
回复
应该是异常退出后,还抓着串口的资源,加入try...catch,异常时,也要释放资源。

同时在启动代码中,也增加try...catch,在启动时,如果报那个错,就强行释放资源。
兔子-顾问 2010-07-12
  • 打赏
  • 举报
回复
可以尝试在main函数最后,执行一行Environment.Exit(0);
风之影子 2010-07-12
  • 打赏
  • 举报
回复
退出程序时,直接杀掉进程。
Kill
兔子-顾问 2010-07-12
  • 打赏
  • 举报
回复
你可以在进程管理器中看看你那个进程关闭没有。
zxcayumi 2010-07-12
  • 打赏
  • 举报
回复
资源没有释放啊,com口还占用着
zhouchenguang 2010-07-12
  • 打赏
  • 举报
回复
事件中,我已经加入了串口Dispose。
ztenv 2010-07-12
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 happyer_longlong 的回复:]
那说明 你 Dispose 没写好, 退出时候 要先中断 硬件和com口的连接,然后程序释放对com口的控制
[/Quote]

应该是这个错误,在退出的时候记得释放你的资源;
兔子-顾问 2010-07-12
  • 打赏
  • 举报
回复
亮剑_ 2010-07-12
  • 打赏
  • 举报
回复
资源没有释放啊,在异常里处理一下
gxj760998 2010-07-12
  • 打赏
  • 举报
回复
.NET并不会主动是否串口句柄,必须你自己处理。
程序异常退出后,很显然,你没有释放相应的资源。
zzc0816 2010-07-12
  • 打赏
  • 举报
回复
检查你有没有别的软件占用了COM3
happyer_longlong 2010-07-12
  • 打赏
  • 举报
回复
那说明 你 Dispose 没写好, 退出时候 要先中断 硬件和com口的连接,然后程序释放对com口的控制
永生天地 2010-07-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 mayonglong 的回复:]
对"com1"的访问被拒绝
[/Quote]
小夏天~ 2010-07-12
  • 打赏
  • 举报
回复
sorry,帮不上忙。。。
ttllxx 2010-07-12
  • 打赏
  • 举报
回复
估计打开后未关闭。可以在open之前先关闭.
mayonglong 2010-07-12
  • 打赏
  • 举报
回复
angel6709 2010-07-12
  • 打赏
  • 举报
回复
formclosing事件中释放资源

110,534

社区成员

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

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

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