操作系统XP SP2,数据库SQL2000
用C#2005开发的一款工业数据采集软件,现在发现系统启动的时候一切正常,采集数据->写库->写日志文件等。然后不对计算机作任何操作让程序自己工作,但几十分钟或几个小时后,发现程序没有任何反映,包括主窗体里用来刷状态栏时间显示的时间控件,就像是死掉了一样,但只要动一下鼠标,程序就又恢复正常状态了。开始是怀疑系统进入待机状态,但通过系统设置及安装键盘精灵等软件监测,系统根本就没有进入待机状态。请大家探讨一下究竟是怎么回事?

解决方案 »

  1.   

    对于数据采集用的Com口都是采用的线程操作。也怀疑过线程冲突,但为什么一动鼠标进程就恢复工作呢?
      

  2.   

    也许是界面失去响应了,所以造成程序停止在访问界面的部分。
    把程序改成控制台试试。
    另外,也可能是timer控件的问题。也许timer在一段时间会停止。
      

  3.   

    我现在是在主界面下放一个时钟,然而这个时钟都停止了。就像mooniscrazy(月色疯狂)说的一样,界面失去焦点了,时钟就停止了,然后用鼠标点击一下状态栏上的图标,程序就像获得了焦点又开始正常工作了。
      

  4.   

    我现在是在主界面下放一个时钟,然而这个时钟都停止了。就像mooniscrazy(月色疯狂)说的一样,界面失去焦点了,时钟就停止了,然后用鼠标点击一下状态栏上的图标,程序就像获得了焦点又开始正常工作了。
    -----------------------------------------------------------------------------------
    难道时钟的触发和获得焦点有关系???奇怪了。
    你可以在timer处理的地方写log,看看是不是真的停止了。并且还能看看是什么让它又激活了。个人观点不是时钟出了问题,而是在显示的刷新上有问题。
    你注意看一下,一旦时钟开始动作,是当前时间还是接着停止那一时刻的时间???