从串口读入的数据为什么要存入variant型对象,之后为什么又要转换为ColeSafeArray型?还有就是明明在端口初始化时已经对RThreshold进行了设置(比如说setRThreshold=1),照理说每次读入数据量已知为1个字节,为什么还要用ColeSafeArray型的.GetOneDimSize()确定数据长度?(看到好多例程都这么写)。我用的是VC控件MSComm,API的方法我不会,新手。望各位大侠指导

解决方案 »

  1.   

    给你个API的文章:http://vckbase.com/document/viewdoc/?id=1114读写串行口用 Win32 API ,简单明了!
      

  2.   

    从串口读入的数据为什么要存入variant型对象,之后为什么又要转换为ColeSafeArray型?
    //variant型是MSCOMM决定的,为了通用吧。COleSaftArray是VC可以处理的数据类型还有就是明明在端口初始化时已经对RThreshold进行了设置(比如说setRThreshold=1),照理说每次读入数据量已知为1个字节,为什么还要用ColeSafeArray型的.GetOneDimSize()确定数据长度?
    //setRThreshold=1,只是说在缓冲区有一个字节到达的时候,就触发OnComm事件,等你转去处理的时候,也许缓冲区内已经有多于一个字符。
      

  3.   

    MS的MSCOMM为一个组件“它”比较傻不知道将会被哪种计算机语言所调用所以只能使用通用安全数组,COleSafeArray