可以在循环里加个application.ProcessMessages,转让一下系统控制权,然后声明两个变量,用以标识是暂停、继续还是强行退出,感觉这样应该好一点,起码不会和死机差不多,还有我想用线程应该也可以。

解决方案 »

  1.   

    insert as:
    for i:=XX to XXXXXXXXX do
    begin
    // do sth ....
    Application.ProgressMessage;
    if QueryStop then Break; // or Exit;
    end;///////////
    Button2.click
    QueryStop:=true;
      

  2.   

    在處理B之前加一句
    Application.ProcessMessages;
      

  3.   

    设两个全局变量,
    一个控制a,一个控制b,
    在每次循环前先检测全局变量。
    设置两个结构保存
    A和b的运行信息,保证a,b能继续执行
    在费时间的地方加上
    Application.ProcessMessages;