我想过每个timer加标志位,timer开始的时候置1,结束时置0。然后每个timer执行开始时先判断其他timer标志位是否有1的情况,如果有,则退出函数。不过这样就跳过了这次的执行,比如10秒触发一次,第20秒如果检测到有别的timer在运行,则退出函数,那这一次就相当于没有操作。我想的是这次timer事件应该延后执行,但不是不执行。
求指导啊~~!!VBtimer同一时间只有一个

解决方案 »

  1.   

    定期存取数据,一个timer对应大概100个数据,一个函数里有三个timer,要是我都写在一个timer里面那要一个timer1000+行代码而且三类要求存到SQL的数据时间间隔可能不一样。现在我就是三个timer写的,都是60秒触发一次,但是运行起程序明显感觉卡
      

  2.   

    那跟直接写在timer里面有啥区别?    而且要是三个需要的时间不一样呢?   比如一个40秒,一个5秒,一个30秒
      

  3.   

    当然有所区别,使用一个定时器比较好控制
    你可以定时时间为5s,
    定时到执行fun1
    然后累计到30
    执行fun2
    累计到40执行fun3
      

  4.   


    还有个问题,就是VB中timer执行的时间是不算在时间间隔里的吧?比如timer 10秒触发一次,但是一次执行用了1秒,那下次执行就是在第一次开始执行11秒后?