小弟做通讯,用MScomm控件,在
Select Case MSComm1.CommEvent
 Case comEvReceive
   '在这里我想对Mscomm1.output赋值,可以吗?
   还有就是Mscomm接收回来的数据Mscomm1.input可以用String类型接收吗?我看别人都是用Variant接收的。有用Mscomm的高手吗?教我啊

解决方案 »

  1.   

    Case comEvReceive 是当接受到数据的时候才被触发的,这个和发送是没有什么关系,如果你要把Mscomm1.output在这里赋值也无可厚非。
    不过一般都是在Case comEvReceive里面接收数据的:InStr=Mscomm1.output
    接收的内容可以用STRING类型。并且最好只用这个类型。关于在Case comEvReceive 中发送消息,我只在一种情况下遇到过:外部设备有几个不同的标示值要获得,比如电压、电流、量程(随便说的),可以在接收到电压的时候发送读取电流的命令,在接收到电流的时候发送读取量程的命令。
      

  2.   

    Select Case MSComm1.CommEvent
     Case comEvReceive
       '在这里对Mscomm1.output赋值是不会出现错误的,如果你设计上必需的话,也是可以的,这个事件是接收数据时触发的   还有就是Mscomm接收回来的数据Mscomm1.input可以用String类型接收,但我觉得用byte接收好些