设计期,在form上放了个TIMER,enabled为TRUE
执行的时候,TIMER.ONTIMER触发正常可是如果设计期TIMER的ENABLED为FALSE
运行时,点击BUTTON,设置timer.enabled为true
ontimer就不触发了这是为什么?

解决方案 »

  1.   


    应该不可能的吧设置一下timer.interval:=1000;
           timer.enabled:=true;
    肯定可以
      

  2.   

    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
      ShowMessage('dddddddddddd');
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      Timer1.Enabled := True;
    end;没问题
      

  3.   

    应该没有问题,跟踪一下,但用timer来处理时需要注意的时,当执行timer中的事件时,最好要把其设为false,否则会造成循环触发。
    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
      timer1.Enabled := false;
      //开始处理代码,完毕后将其设为true
      //.................
      timer1.Enabled := true;
    end;
      

  4.   

    应该不会有这种问题吧 估计是别的问题导致的 这个问题我到是遇到过 肯定不是 Timer1.Enabled哪里的问题
      

  5.   

    你设置Interval隔多久?
    每次设置Enabled=true时,它重新计数,到点了再执行。
      

  6.   

    检查消息是不是被阻塞掉了。
    Timer是依靠消息的。
      

  7.   

    感谢各位的答复,问题解决了我在timer.ontimer里调用了 timer.ontimer :=Button2.onclick;
    后来把timer.ontimer :=Button2.onclick;移到button1.onclick里执行就好使了
    真是莫名其妙