我现在希望使用VC实现串行通讯的功能,发送功能可以实现了,但是接收数据我不知道怎么处理,我在网络上面找到了相关的程序代码,但是运行时总是在VARIANT型变量转换为ColeSafeArray型变量时出错!希望哪位高手能够告诉我怎么处理!

解决方案 »

  1.   

    COleSafeArray v = m_comm.GetInput();
    ASSERT(v.GetElemSize() == 1);
    UCHAR* p = NULL;
    int nlen = v.GetOneDimSize();
    v.AccessData((void**)&p); OnRecv(p, nlen);
    v.UnaccessData();
    另外,请确定你收到的是数组还是字符串,你确定使用了SetInputMode(1)吗?
      

  2.   

    首先谢谢了,我是个VC初学者,我编写这个程序是为了实现仪表通讯功能,我看其他人的程序直接可以转换,我直接定义了两个这样的变量,直接赋值,但是也会出现同样的错误,是不是我要对VC进行什么设置!