在做一个串口通信程序,从串口中读取的数据给添加到memo中,但是每次收到的数据长度都不一样,又想在memo中显示对齐,所以每次收到数据时都用memo.text := memo.text + string这样
但是这样的做法,在数据量不多的时候还好,但是当数据量达到一千行左右,程序就处于卡死状态,再点窗口上的任何按钮,直接跳出内存write错误,然后程序退出
这种情况下,该怎么办?有什么办法能不用每次都载入memo.text,然后和string相加,再重新赋给memo吗?就是直接在不换行的情况下,在当前行追加数据

解决方案 »

  1.   

    memo的行数到一定数量时把它保存为本地文件,然后清空memo内容,再继续
      

  2.   

    不要用text,用memo1.lines.add 试试看,但是如果实在多的话,还是建议清空一下。
      

  3.   

    你串口的数据发过来速度是不是很快,要是很快的话,估计你要做一个缓冲队列,因为MEMO的刷新速度实在是不敢恭维。
      

  4.   


    因为每次收到的数据长度都不一样,但是下位机每次发的都是同一个串,所以如果用memo1.lines.add的话,数据就对不齐了