void CSerialPortActivexDlg::OnCommMscomm1() 
{
 // TODO: Add your control notification handler code here
 UpdateData(true); VARIANT variant_inp;
 COleSafeArray safearray_inp; long i = 0;
 int len;
 char rxdata[1000];
 CString tmp;
 switch (m_mscom.GetCommEvent())
 {
  case 2:
  {
   variant_inp = m_mscom.GetInput();
   safearray_inp = variant_inp;
   len = safearray_inp.GetOneDimSize();
   for (i = 0; i < len; i++)
   {
    safearray_inp.GetElement(&i, &rxdata[i]); 
   } 
   rxdata[i] = '\0';
  }
  m_recv += rxdata;
  UpdateData(false);
  break;
 default:
   break;
}
}为什么 有触发 而getinput() 里没数据呢  ?  在调试窗口看到的是 {???}
我在网上看来 程序都是这么写的 ,可我这里为什么不行呢 
我是把 串口的 23脚短接来调试的