MFC的CMSComm的Create方法
我快疯了,编译无错,运行出错,
添加CMSComm控件,在对话框运行类向导,对CMSComm控件对应的控件ID添加关联变量myComm
然后在对话框的OnIinitDlg()函数
DWORD style=WS_VISIBLE | WS_CHILD;
if(!myComm.Create(NULL,style,CRect(0,0,0,0),this,IDC_MSCOMM1))
{
AfxMessageBox("创建MSComm控件失败");
return FALSE;
}
else
{
myComm.SetCommPort(4);//指定串口号
myComm.SetSettings("4800,N,8,1");//通信参数设置
myComm.SetInBufferSize(1024);//指定接收缓冲区的大小
myComm.SetInBufferCount(0);//清空接收缓冲区
myComm.SetInputMode(1);//设置数据获取方式
myComm.SetInputLen(0);//设置每次读取的长度
myComm.SetRThreshold(1);//设置接收OnComm事件字符门限值
myComm.SetPortOpen(1);//打开串口
}
编译无错,但是每次运行到Create方法就出错,到底啥原因
添加CMSComm控件,在对话框运行类向导,对CMSComm控件对应的控件ID添加关联变量myComm
然后在对话框的OnIinitDlg()函数
DWORD style=WS_VISIBLE | WS_CHILD;
if(!myComm.Create(NULL,style,CRect(0,0,0,0),this,IDC_MSCOMM1))
{
AfxMessageBox("创建MSComm控件失败");
return FALSE;
}
else
{
myComm.SetCommPort(4);//指定串口号
myComm.SetSettings("4800,N,8,1");//通信参数设置
myComm.SetInBufferSize(1024);//指定接收缓冲区的大小
myComm.SetInBufferCount(0);//清空接收缓冲区
myComm.SetInputMode(1);//设置数据获取方式
myComm.SetInputLen(0);//设置每次读取的长度
myComm.SetRThreshold(1);//设置接收OnComm事件字符门限值
myComm.SetPortOpen(1);//打开串口
}
编译无错,但是每次运行到Create方法就出错,到底啥原因
作者: me_tracyone 发布时间: 2011-06-15
不明白,为什么不直接插入一个ActiveX控件而是用这种方式创建呢,给自己找麻烦
作者: jlxbc 发布时间: 2011-06-15
控件已经关联了 就不需要再Create了
作者: zgl7903 发布时间: 2011-06-15
myComm.Create(NULL,style,CRect(0,0,0,0),this,IDC_MSCOMM1))
这句是多余的!!!!!!!!!!
这句是多余的!!!!!!!!!!
作者: vcf_reader 发布时间: 2011-06-15