如题。 主要是操作多模块收发短信,因为要支持2、30个模块,即COM口有2、30个,所以不能用MSCOMM,SPCOMM这些控件。

解决方案 »

  1.   

    MSCOMM真能支持第17个串口吗?好象不行吧!
      

  2.   

    另外,我的程序:
      hHandle := CreateFile(
          PChar('COM15'),
          GENERIC_READ or GENERIC_WRITE,
          0,
          nil,
          OPEN_EXISTING,
          FILE_FLAG_OVERLAPPED,
          0
        );
    //
      if ( hHandle = Invalid_Handle_Value )then
      begin
        bIfOk := False;
        exit;
      end
      else
      begin
        bIfOk := True;
      end;
    其中 bIfOk 总是等于 False 呢?而一改成COM1-COM9就是True....真正的郁闷
      

  3.   

    MSCOMM不支持16个以上串口,用api函数做。看书《Delphi 与RS-232串行通信控制》的第三章 串行通信程序及组件建立。书上有现成的例子,好用我调过。
      

  4.   

    chenshusc(菜菜):超过9后就要把PChar('COM15')改写为PChar('\\.\COM15'),看来你经验不是很足啊
    楼主,你这种情况应该写一动态库操作串口和收发短信功能,然后在DELPHI程序中用多线程监控多个串口.我就是这么做的,稳定可靠扩展性能好
      

  5.   

    这个问题我也遇到过,多谢hamzsy(十二真空间)指点。