发表于:2004-05-31 17:58:00
楼主
各位我在用VC编程的时候遇到一个小问题,就是数据老是读取不到。该段程序如下:
void CCommWizardDlg::OnOnCommCommctrl()
{
// TODO: Add your control notification handler code here
VARIANT variant_inp;
COleSafeArray safearray_inp;
LONG len,k;
BYTE rxdata[2048]; //设置BYTE数组 An 8-bit integerthat is not signed.
CString strtemp;
if(bReceive)
{
if(m_Com.GetCommEvent()==2) //事件值为2表示接收缓冲区内有字符
{
variant_inp = m_Com.GetInput(); //读缓冲区
safearray_inp = variant_inp; //VARIANT型变量转换为ColeSafeArray型变量
len=safearray_inp.GetOneDimSize();//得到有效数据长度
if(len>0)
AfxMessageBox("sadkjlfalkj;sdfkl");
for(k=0;k<len;k++)
safearray_inp.GetElement(&k,rxdata+k);//转换为BYTE型数组
加入len的判断是为了看有没有读到数据,可是每次都是读取不到,而在一个例程中一样的代码却运行没有一点问题。希望各位给看看,帮忙解决一下问题,我们共同提高。