首先是函数名的改变,网上搜一下就知道了
重点说一下读取接收数据缓冲区的改变。get_Input()返回类型为 VARIANT,以前是将结果放在SAFEARRAY里面,我刚开始还是这样写的,发现得不到数据。调试了一下,发现从缓冲区收到的数据居然是放在了BSTR里面,SO,一切就变得简单了。读取数据的代码如下
void CGPSDlg::OnCommMscomm1() { // TODO: 在此处添加消息处理程序代码 VARIANT varComm; if(mscomm.get_CommEvent() == 2) //事件值为2表示接收缓冲区内有字符 { varComm = mscomm.get_Input(); //读缓冲区 EditOutStr = varComm.bstrVal; UpdateData(FALSE); //更新编辑框内容 } } 其中EidtOutStr是编辑框控件变量。 哈哈,不用再像以前那样转来转去了。。。