现在有一个程序,里面有个循环的次数大概有上亿次,导致程序一运行,就死机在那里,但是能保证
程序的逻辑是正确的,循环有出口,我想可能是程序一运行就占用了系统的所有资源,有没办法就是
只让程序占用有限资源,拉长计算时间,不至于让程序还没算完就不响应了,或者就是让它在操作系
统空闲的情况下运行。问个问题,如果让它放在后台运行会不会就不死机啦。

解决方案 »

  1.   

    放在线程中,或者在循环中适当用Application.ProcessMessage;
    如:for I:=0 to 100000 do
    begin
     ...
     Application.ProcessMessage;end;
      

  2.   

    :)
    ------------------------------------   《CSDN论坛新助手 CSDN's forum Explorer》
      1、更快速的浏览
      2、更方便地保存
      3、更快捷的收/发短信
      下载地址:http://www.seeyou.com.cn/CoolSlob/CSDNExplorer.exe
      

  3.   

    和aiirii(ari-爱的眼睛) 抢分
    Application.ProcessMessage;
    没问题!aiirii 你都两星星了!!分给我吧!我都半年没加分了!
      

  4.   

    再:)
    ------------------------------------   《CSDN论坛新助手 CSDN's forum Explorer》
      1、更快速的浏览
      2、更方便地保存
      3、更快捷的收/发短信
      下载地址:http://www.seeyou.com.cn/CoolSlob/CSDNExplorer.exe
      

  5.   

    我试了一下:
    for I := 0 to 100000000 do    
      begin
        k := i + 1;
        Application.ProcessMessages;
      end;
    加了Application.ProcessMessages 后速度明显变慢!
    不信你们也试一下!