在某个事件里有一个循环,要执行很长时间,但我想中途中断其执行,该怎么做?

解决方案 »

  1.   

    好象不可以。不过可以在循环中添加: application.processmessage;
    这样程序还能响应其他的操作。
      

  2.   

    用一个变量if 变量=true then  break;然后在循环里加
     application.processmessage;for i:=0 to 1000 do
    begin
       if 变量 then  break;
        application.processmessage;
    end;
      

  3.   

    在循环中加 application.processmessage;
    然后通过代码处理
      

  4.   

    同意linzhisong(無聊) 
    用一个窗体级变量for i:=0 to 1000 do
    begin
       if 变量 then  break;   //
        application.processmessage;//
    end;在中断按钮中:
       变量:=true;
      

  5.   

    应该说用一个变量来判定循环是否终止的方法是最简单的,不过ProcessMessage必须要插入到循环中,否则此方法无效。
    如果你不想修改循环的代码,用线程把它包装起来,也可以随时终止它,不过这种方法会带来较多的问题。