现象的原因不明,但应该不是timmer或settimmer的问题,我用过,没有你所说的问题;据我估计,不是timmer的问题,有可能是你程序的问题,或用到了什么特殊的控件,而该控件的资源问题没有解决好。
你试着在一个空form上放一个timmer,如果还有问题,就是你系统的未知问题。
timmer的方法应该可以实现你定时检测的要求,不过要注意在timmer里不要有什么中止进程的东西,比如msgbox或大量循环的东西,毕竟vb是单线程的。

解决方案 »

  1.   

    哦测试时Timer里代码:
    Dim i as integer 
    i=i
    SetTimer调用时倒是有些代码,不过您所说的几点注意已经回避了,不存在。
    哦要测当然不会在里边加对象一类的东东。不知您的机子是什么配置?
    哦的cup 533,内存128,系统Window2000 Pro,防毒Norton,其他没有
    测试时正常的使用VB,不调用使用过多对象的程序。
      

  2.   

    interval的属性最大只能是 65535 约65.5秒
    实际最短的时间间隔只能为55毫秒 因为系统时钟每秒只有18个信号
      

  3.   

    VB高精度计时器编程的讨论 
    http://www.applevb.com/art/timing.htm
      

  4.   

    系统的资源应该及时刷新才是有些程序虽然运行退出了但在内存中还有资源没有被释放timer控件虽然是常用的一个计时控件但其这方面原因值得考虑!
      

  5.   

    timer 很耗费系统资源,使用要小心,用完记得删除
      

  6.   

    不会吧,time这么差,我的一个软件可是用了二个啊。完了。
      

  7.   

    The following table describes the resolution of the system timer. System Resolution 
    Windows NT 3.5 and later The system timer runs at approximately 10ms. 
    Windows NT 3.1 The system timer runs at approximately 16ms. 
    Windows 95 and later The system timer runs at approximately 55ms. 
      

  8.   

    To zyl910是不是贴子没刷完,只看到了System timer的各系统的应用近似时间多谢各位,哦也是觉得有时用这些很不放心,想找个好的方法,以免做的实时程序
    出现不想出现的尴尬局面。
    VB的Timer控件在弹出模态对话框时内部代码会停止进行,SetTimer要好些,但
    Timer控件对资源耗费,可能是面向对象的东东有些弊端,可SetTimer函数为什么
    也那样哦就想不通,难不成微软的计时也会有这样事?不可能吧。
      

  9.   

    多谢 TechnoFantasy(www.applevb.com) 
    几年前哦用CB时曾做过一个定时系统,当时因为Timer控件不可靠,没有选用它
    那时的思路时开一个线程,在线程里边不停得到系统时间,然后根据系统时间的差来做计时。timeKillEvent 中有回调函数的调用,其工作原理又是什么呢?
    是否一样是开启一线程,那么线程中又如何得到系统时间呢?是QueryPerformanceCounter 系列函数方式,还是取CMOS时间呢?
    诚心请教!
      

  10.   

    可能是程序或系统的问题,我做数采时TIMER数量多达9个,3个实时检测。程序用了4年多了。
      

  11.   

    我觉得OnIdle要比Timer好多了。
      

  12.   

    确实OnIdle比timer要好 ,TIMER本来就不好用,所以不如用循环.