循环花时间长
怎样按纽中断退出

解决方案 »

  1.   

    呵呵,如果是主线程就只有Alt+F4强退了。所以建议将长时间循环放到子线程中执行,在主线程中就可以随时中断该循环。具体编程请看多线程资料。
      

  2.   

    在循环条件中加标记,如exitstat,并在循环中加application.ProcessMessages;
    如:
    var
      exitstat:bool;procedure TForm1.Button1Click(Sender: TObject);
    begin
     exitstat:=true;
      while exitstat and (原条件) do
      begin
         原循环内容
         application.ProcessMessages;
      end;
    end;
    然后,加以下程序:
    procedure TForm1.Button2Click(Sender: TObject);
    begin
        exitstat:=false;
    end;
    当Button2按下时,循环退出
      

  3.   

    Keiy是对的,支持!我怎么把这招搞忘了。在无限循环中一直这样处理的。看来是老喽
      

  4.   

    其实我是用keiy() 的方法的。
    但是我要4重的for循环,
    application.ProcessMessages;
    在最里层加了
    我实验怎么不行,怎么回事