timer什么时间开始启动?
我在我的一个过程myprocedure的开始将Timer1.Enabled:=false;
结束时将Timer1.Enabled:=true;在ontimer中:
procedure TBrowserForm.Timer1Timer(Sender: TObject);
begin
  timer1.interval:=120000;
  showmessage('timer');
  HttpGet.CloseHandles;
  ImageShowWebClick(Sender);
end;可是为什么在formCreate中,就调用了Timer1Timer,显示‘timer',
timer到底什么时间开始启动?请教各位了。

解决方案 »

  1.   

    ft,你调用了TimerTimer(哪怕timer的enabled为false,也可以执行),那就与你想设置的timer1.interval=120000;无关了,因为函数还要继续,所以会showmessage的,
      

  2.   

    formcreate时侯,设置为timertimer.enalbe:=false;
    --------------------------------------------------------------------
    看尽悲伤,庸人自扰不平事。叹尽荒凉,海阔天空谁人知。狂风劲兮,百花飘
    扬乱舞香。捏花一笑,海不扬波断肠心!
      

  3.   

    我没有在别的地方调用TimerTimer.整个程序就只这几个地方出现timer
      

  4.   

    你写反了吧,当Timer.enabled = true的时候开始启动
      

  5.   

    我的意思是:如果超过一段时间不调用myprocedure,就执行timer1timer。
    我也在formcreate里设置了timer.enable:=false;
    但会在接下去的地方出现。怎么回事
      

  6.   

    这样阿,你设置一个变量,把定时器打开,在Ontimer事件中:
    inc(Count);
    if Count > Max then
    begin
      Count := 0;
      doOldOntimer(Self);
    end;
      

  7.   

    你在设计期,在 Object Inspect 中把 Timer 的 Enabled 属性置为 True了,所以只要 Form Create 了,Timer 就开始运行了。把它置为 False 即可
      

  8.   

    谢谢。终于解决了。hiflower是对的。