连续两天调试MSComm控件
无法接收:
现象:safearray_inp=variant_inp;//变量转换
这句话报错
方法:设置控件为二进制模式,而非文本模式
void ERASE::OnCommMscomm1()
{// TODO: Add your message handler code here
VARIANT variant_inp;//计算机底层传回的是VARIANT数据类型
COleSafeArray safearray_inp;//由VARIANT派生的一种数据类型继承了VARIANT的特性
long len=0,k;
if(m_mscomm.get_CommEvent ()==2 )//值为2时骸表括示接收缓冲区存在有效字符
{
// cnt++;
variant_inp=m_mscomm.get_Input();//读取缓冲区消息, 取得缓冲区所有内容赋给VARRINT型í变量variant_inp
safearray_inp=variant_inp;//变量转换
len=safearray_inp.GetOneDimSize();//得到有效的数据长度
for(k=0;k<len;k++)
{
safearray_inp.GetElement(&k,rxdata+k);//Element元a素
}
}
}