我正在写抄表程序,想用文本框显示上下行数据帧,
界面操作: 按中树控件中的终端,则发送接收缓冲文本框中显示该终端的通信数据需要为每个终端分配一个内存空间,用来存放数据帧;
如何实现能更优化一些,请教一下思路;(多线程采集,2000个终端数据帧放在内存中)界面如下:
---------------------------------------------------------------
       |       发送缓冲:    
       |       ________________________________________
终端   |      |                                       | 
树控件 |      |                                       |
       |      |                                       |
       |       _________________________________________
       |       接收缓冲:
       |       ----------------------------------------                 |      |      |                                       |
       |      |                                       |
       |       ________________________________________
________________________________________________________________

解决方案 »

  1.   

    在树控件终端的响应函数中启动接收线程,在OnInit()中启动显示线程和发送线程
      

  2.   

    yjianshi () 
    问一下,你在做的抄表程序是集抄系统吗?
      

  3.   

    TO jamesjinyongming() :
    为每个终端显示数据帧,这更加有利于调试,而且可以判断线路是否出现故障,我看别人是这么做的
      

  4.   

    To wutaozhao:"在树控件终端的响应函数中启动接收线程,在OnInit()中启动显示线程和发送线程",似乎很合理,但是我想让我的发送接收与界面显示进程分开来,这样清晰一些,而且能高效一点,哪位能提供一些思路啊,我就是做了一个全局数组,存放每一个终端的信息和输入输出数据和终端号,在帧显示界面中,在响应函数中通过终端号找到输入输出数据,我就是这么做的;
      

  5.   

    把一个终端的收发数据封到一个数据类里面。
    对树控件的每一项SetItemData,把类的指针放进去,同时全局数组里面也有一份数据类的指针。
    全局数组的指针给通讯模块,树控件的指针用来刷新。
      

  6.   

    To simon031187
        谢谢你的建议,我也是这样做,主要是不能让程序占用太多的内存