我有一个循环,可能要从1循环到9999999999999999(我说的是可能,什么时候出现这种情况就看业务怎么设置的了,不一定是9999999999999999,反正有可能循环很大很大)我用while来循环,可是计算机在循环过成中不知道什么时候就不响应了。大家有没有遇到过这样的问题呀?是如何解决的?

解决方案 »

  1.   

    这个循环非常变态,不知道楼主想干什么。循环体里面增加一句Application.ProcessMessages();
      

  2.   

    这是一个申请号码用到的,就是在一个表A里取一个最大的和另一个表B里最大的比较,按规定组合,如果组合的号在表C里存在了就加1,再重新比较,,否则就确定了应该得到的号,直到组合的号大于表B的最大号则退出。不知道这样说明白了吗?
      

  3.   

    application.processmessages我也是做一个很大的循环,而且每天不停要去读一个表以判断是否要开始计算
      

  4.   

    1、在循环体加一句application.processmessages。能够响应,不过应该会响应较慢。2、对如此大的计算量还是单给他开一个线程吧。
      

  5.   

    我也觉得加application.processmessages响应很慢,可是现在没有更合适的办法啊
      

  6.   

    application.processmessages加在循环中没循环一次,程序都有处理消息应该不慢的。
    提供个方案:如果速度要求不是很高的,可用Timer来做循环,处理速度可调整时间间隔,就是慢些。