VB 是TEXTBOX 还是MSCOMM控件的原因

来源:百度知道 编辑:UC知道 时间:2024/05/14 13:47:16
这里所说的死机并不是程序不运行了,而是程序好象进入死循环,无法退出

用VB作串口通信时,
运行程序时间短时程序不死机,
当时间超过1分钟程序就 死机,无法退出,只能从资源管理器中结束进程,
程序中用到了MSCOMM控件和TEXTBOX控件(设有垂直滑动条) ,

出现的情况如下:
(1)TEXTBOX控件(设有垂直滑动条)如果只是显示当前从COM口送来的数据,运行程序多长时间都不死机。TEXTBOX控件中的数据不断更新
(2)TEXTBOX控件(设有垂直滑动条)如果显示当前从COM口送来的数据和原来的数据,运行程序在处理完接收数据后没加
MSComm1.InBufferCount = 0
的话时,
运行程序就死机,TEXTBOX控件中的数据不断更新。
(3)TEXTBOX控件(设有垂直滑动条)如果显示当前从COM口送来的数据和原来的数据,运行程序在处理完接收数据后加上
MSComm1.InBufferCount = 0
的话时,
运行程序30秒内程序能按“退出”键正常退出,超过这个时间,程序就无法推出,进入死循环,只能通过资源管理器退出。但TEXTBOX控件中的数据也不断更新。

请指教

是TEXTBOX 还是MSCOMM控件的原因

应该是text的原因..

你应该将内容放到变量内.. 指定时间,或是通过按钮将得到的数据显示到Text中.

估计上TEXTBOX的内容太长了,刷新不过来,导致以为是死机了

你试试在把新内容增加到TEXTBOX后,判断一下TEXTBOX的长度,如果超过一定长度(比如2000个字节)就清零,应该可以解决