关于Mfc中Mscomm使用出现中断错误

在MFC应用中使用全局MSComm对象时,遇到中断错误问题。错误源于在多对话框中调用MSComm控件时,未正确初始化。解决方案是确保在每个使用前添加`afx_mscomm.Create()`和设置`WS_VISIBLE`风格的代码。同时,注意到`DDX_Control(pDX, IDC_MSCOMM1, afx_mscomm)`与`Create()`函数可能有等效作用,注释掉`DDX_Control`可能导致不稳定的行为。对于为何两者缺一不可,尚待进一步解析。" 112174290,10552568,DCS配料系统在聚酯生产线的应用与分析,"['DCS系统', '工业控制', '自动化', '聚酯生产', '过程监控']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

                                                                     

                    在使用全局的Mscomm对象时会出现上图的问题。

                   主要原因是在多个dialog中调用时缺少以下两句代码,

                           DWORD style=WS_VISIBLE;
                  afx_mscomm.Create(NULL,style,CRect(0,0,0,0),this,IDC_MSCOMM1);

                  开始的时候只是在初始化的时候调用这句总是出现上述问题,在所有使用全局对象之前都加上以上两句,就完全没有问题了。

                  并且我发现在dialog中创建了Mscomm控件并添加变量后,会自动加上以下代码。

                        void CSerialCfg::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
DDX_Control(pDX, IDC_MSCOMM1, afx_mscomm);

}

                你注释了 DDX_Control(pDX, IDC_M

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值