一个关于VARIANT数据的问题
我使用MSComm控件进行串行通讯,可是在接收数据时出现了问题
发送数据用 UpdateData(TRUE); //读取编辑框内容
m_ctrlComm.SetOutput(COleVariant(m_strTXData));
接收到数据时
void CSCommTestDlg::OnComm()
{
CString m_strshow;
COleVariant vaTemp;
int len;
if(m_ctrlComm.GetCommEvent()==2)
{
len=m_ctrlComm.GetInBufferCount();
TRACE1("The InBufferCount is %d\n",len);
VARIANT vaInput=m_ctrlComm.GetInput();
vaTemp.ChangeType(VT_BSTR,(COleVariant*)&vaInput);
m_strshow=vaTemp.bstrVal;
len=m_strshow.GetLength();
TRACE1("m_strshow is %d long.\n",len);
m_strRXData+=m_strshow; //写入编辑框
}
UpdateData(FALSE);
}
如果发送一个字符,比如'a',就可以正常显示,
如果发送字符串,比如“abc”,就显示“扡c”,
麻烦大家帮我找找原因吧