本帖最后由 quickboy19821982 于 2010-07-16 14:30:26 编辑

解决方案 »

  1.   

    ni 这样循环Timer每次都重置了一次
      

  2.   


    repeat
      Application.ProcessMessages ;
    until handrec=0;要知道如果程序忙碌,是要丢弃计时器事件的。
      

  3.   

    2楼说得对。
    关键是 
    repeat
    until handrec=0;
    导致程序处于忙碌状态,导致无法执行timer.ontime事件。
    应该在循环中加入application.processMessages不时地响应处理系统消息。
    timer1.ontime
      handrec:=0;button1.onclick
      handrec:=1;
      timer1.enabled:=true;
      repeat
      Application.ProcessMessages ;
      until handrec=0;
      showmessage('1');