comm控件的属性,比如comm1.name:=a;(a是string变量),comm1.baudrate:=b;(b是integer变量)可以赋值。
但是如果comm1.bytesize:=c;(c是string变量)就提示出错(Tbytesize和string类型不匹配),是什么原因啊??(直接在comm属性里设置_5/_6/_7/_8可以)
请高手指教,如何通过变量给comm的ByteSize,Parity,StopBits属性赋值。谢谢!

解决方案 »

  1.   

    type
      TComNamds = (COM1, COM2, COM3, COM4); M12321.ComName := TComNamds(GetEnumValue(TypeInfo(TComNamds), 'COM2'));
    大概如此,修改成你要的
      

  2.   

    参见:http://borland.mblogger.cn/aiirii/posts/3491.aspx
      

  3.   

    comm1.bytesize:=Tbytesize(GetEnumValue(TypeInfo(Tbytesize), c));假设 c 为 string 类型,  c:= '_7';
      

  4.   

    Uses TypInfo;不懂就看我给的链接
      

  5.   

    GetEnumValue是什么意思啊?不需要重新定义什么了吧?