MSComm控件溢出问题 求指导
串口部分程序
void CSCommDlg::OnComm()
{
VARIANT variant_inp;
COleSafeArray safearray_inp;
LONG len,k;
BYTE rxdata[2048]; //设置BYTE数组 An 8-bit integerthat is not signed.
CString strtemp;
if(RXDataRefreshFlg == TRUE)
{
m_strRXData.Empty();
RXDataRefreshFlg=FALSE;
}
if(m_ctrlComm.GetCommEvent()==2) //事件值为2表示接收缓冲区内有字符
{
variant_inp=m_ctrlComm.GetInput(); //读缓冲区
safearray_inp=variant_inp; //VARIANT型变量转换为ColeSafeArray型变量
len=safearray_inp.GetOneDimSize(); //得到有效数据长度
for(k=0;k<len;k++)
safearray_inp.GetElement(&k,rxdata+k);//转换为BYTE型数组
for(k=0;k<len;k++) //将数组转换为Cstring型变量
{
BYTE bt=*(char*)(rxdata+k); //字符型
strtemp.Format("%c",bt); //将字符送入临时变量strtemp存放
m_strRXData+=strtemp; //加入接收编辑框对应字符串
}
}
int i=m_strRXData.GetLength();
if(m_strRXData.GetLength()==58)
SendMessage(USER_RXDATA,0,0); //消息响应函数 为处理消息用
strtemp.ReleaseBuffer();
return;
}
运行一会出现
0x77c12a16指令引用的0x00001000 该内存不能为read
这是为什么 求指导 谢谢
758407526QQ