我在一些书上看到,这样的程序一般都是用VC++作串口通信类,然后用多线程监控。
那Delphi该怎么办呢?比方说有1000多台同样的外设要控制,怎样才能在一个屏幕内实时的看到每台设备的状态呢?希望有经验的高手进来讨论讨论。

解决方案 »

  1.   

    还是用vc写吧,用delphi也是调用api写串口,要实时的肯定要多线程.
    而且不能用控件.你不可能放1000个spcomm或者mscomm在上面.我现在用的
    时moxa c320turbo(pci),就是vc的线程.至于一个屏幕内实时显示就看自己的
    想象力了,应该不是问题
      

  2.   

    控件是可以动态生成的,线程也是可以动态生成的,为什么DELPHI不行呢?我认为没问题,不用直接调用API,控件完全可以。---------------------------------------------------------------
    提供参考的例子,非此题范例:http://218.56.11.178:8020/web/index.aspx-》 下载基地-》例程-硬件控制-》串口通讯控制器/spcom事例程序
                -》控件-硬件控制-》TurboPower Async Professional/spcomhttp://218.56.11.178:8020/web/technology/chuangkou.htm-------------------TurboPower Async Professional是专业的控件,强烈建议使用。如果确实需要多个串口,可以动态生成。
      

  3.   

    jpyc(九品御厨) 你的串口调试程序怎么收到的文字有乱码呢?
    我发的是一小篇文章,用你的发到超级终端或别的串口测试程序中则没有乱码。
    我修改了你的程序,在接收同时保存到一个文件中,结果保存的文件正常,而你的程序显示的有乱码。
    说明你的程序发送,接收都没有问题,只是在Memo_show中显示有问题,请问怎么改正?
      

  4.   

    我做过多串口的项目,简单介绍一下,希望对你能有所借鉴
     工控主板提供4串口,需要进行TTL与232的电平转换,或者购买一块串口扩展卡(PCI总线)
     在窗体上放置4个控件VACOMM1,VACOMM2,VACOMM3,VACOMM4,通过VACOMM1.RXONCHAR来接收数据,可以显示在MEMO1中,因为数据包中的数据的ASCII值从0到255的都可能有,因此有时无法正常显示,你可以使用2进制,10进制,16进制的转化来观察数据.监护仪的程序就是这样做的.
      我也是知道一点皮毛.
      

  5.   

    hellowbh(OneBowie) 我调试过,可能是由于你的文件是从网页或什么其他文件中获得的,所以有不可见字符,普通的字符和数据是没问题的。试过其他几个串口工具,都存在类似的问题。恐怕是短期内的难题了,最近看看能否解决。
      

  6.   

    jpyc(九品御厨)
    控件动态生成,线程也动态生成,速度会不会很慢
      

  7.   

    多路串口设备,如果控制串口较多的话应该考虑用重叠(Overlapped)IO模式。
      

  8.   

    请问evilch(evilch)
    重叠(Overlapped)IO模式是什么?
    我没用过,请指教