社区
C++ Builder
帖子详情
MSCOMM的问题?
TripH0101
2010-01-05 04:01:39
当MSCOMM正在读取数据时(即读端口时)或者发送数据时,关闭程序,就会报异常(access violation......),请问怎么解决这个问题?
...全文
189
16
打赏
收藏
MSCOMM的问题?
当MSCOMM正在读取数据时(即读端口时)或者发送数据时,关闭程序,就会报异常(access violation......),请问怎么解决这个问题?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
TripH0101
2010-01-16
打赏
举报
回复
算了,结了
lovetsfuer
2010-01-14
打赏
举报
回复
换个串口控件试一试
我们也用串口软件,不是MSComm,还么出现什么问题
TripH0101
2010-01-13
打赏
举报
回复
有搞过的吗
USB_A_SB
2010-01-13
打赏
举报
回复
up
J明
2010-01-10
打赏
举报
回复
在OnComm事件加入讀寫事件的判斷試試看。
TripH0101
2010-01-07
打赏
举报
回复
请高手指教
TripH0101
2010-01-06
打赏
举报
回复
异常指向这个函数
AnsiString __fastcall TFMain::ReadPort()
{
//TODO: Add your source code here
OleVariant s;
//if(test->Terminated) return 0;
if(MSComm1->InBufferCount)
{
s=MSComm1->Input;
AnsiString str=s.AsType(varString);
if(str.Pos("\n")>0 )
return str;
else //没有接收到换行符,则延时再接收
{
Sleep(100);
s=MSComm1->Input;
str+=s.AsType(varString);
return str;
}
}
}
TripH0101
2010-01-06
打赏
举报
回复
不行啊
周药师
2010-01-06
打赏
举报
回复
[Quote=引用 6 楼 thwen0101 的回复:]
估计是线程的问题,我的串口读写是在线程中实现的,那在关闭窗口前怎么释放这个线程?
[/Quote]
pThread->Terminate();
TripH0101
2010-01-06
打赏
举报
回复
估计是线程的问题,我的串口读写是在线程中实现的,那在关闭窗口前怎么释放这个线程?
wxdcxp
2010-01-06
打赏
举报
回复
if (MSComm1->PortOpen==true)
{
MSComm1->PortOpen=false;
}
明朝2013
2010-01-05
打赏
举报
回复
把详细出错信息发出来
周药师
2010-01-05
打赏
举报
回复
[Quote=引用 2 楼 thwen0101 的回复:]
引用 1 楼 silverpot 的回复:
在窗口关闭事件里,先关串口
if (MSComm1->PortOpen)
{
MSComm1->PortOpen=false;
}
没用
[/Quote]
MSComm1->OutBufferCount = 0 //清空发送缓冲区
MSComm1->InBufferCount = 0 //滑空接收缓冲区
然后用
try
{
}
catch(...)
{
}
把异常过滤掉试试
OutBufferCount
银点
2010-01-05
打赏
举报
回复
我从来没有使用过mscomm,我一直都是使用第三方的组件的。如果你用bcb或是delphi,可以试试TComPort这个组件,我经常做设备控制一直用这个,感觉很方便
TripH0101
2010-01-05
打赏
举报
回复
[Quote=引用 1 楼 silverpot 的回复:]
在窗口关闭事件里,先关串口
[/Quote]
if (MSComm1->PortOpen)
{
MSComm1->PortOpen=false;
}
没用
银点
2010-01-05
打赏
举报
回复
在窗口关闭事件里,先关串口
MSComm
控件使用详解
MSComm
控件通过串行端口传输和接收数据,为应用程序提供串行通讯功能。
MSComm
控件在串口编程时非常方便,程序员不必去...具体的来说,它提供了两种处理通信
问题
的方法:一是事件驱动(Event-driven)方法,一是查询法。
delphi
mscomm
串口控件下载
压缩包里面包含了
mscomm
需要安装的3个文件,包含了
mscomm
.reg和
mscomm
32.dep、
mscomm
32.ocx,还附上了
mscomm
在delphi xe2中的安装说明,和程序在非开发的电脑上使用时出错的解决办法,另:有一份测试用的源码,网上...
vba 中引入
mscomm
控件
vba 中引入
mscomm
控件 vba 中引入
mscomm
控件 vba 中引入
mscomm
控件
MSComm
控件
MSComm
工作需要的三个文件
MSComm
工作需要的三个文件:
Mscomm
32.ocx、
MSCOMM
32.DEP、
MSCOMM
.SRG
Mscomm
32控件文件以及注册
MSComm
控件中的
MSCOMM
32.DEP
MSCOMM
32.OCX
MSCOMM
.SRG文件,以及注册方式
C++ Builder
13,826
社区成员
102,678
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章