您的位置:首页 > 其它

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

2015-06-04 16:08 211 查看
在使用全局的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_MSCOMM1, afx_mscomm); 这句,你就会发现有时候会成功,但大多数的时候还是会报上图的错误。

这个我就不太清楚了,得请大神来解读了。

在我的理解DDX_Control(pDX, IDC_MSCOMM1, afx_mscomm); 与 DWORD style=WS_VISIBLE;

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

这两句有点等价的意思,没有这个就必须要有那个,要不然就是中断错误,真的很费解。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: