delphi假死线程堵塞解决办法

  Delphi的高效不多说... 俗话说;真正的程序员用C语言,聪明的程序员用Delphi,一点都不假,和C++比它比C++更简单,更容易上手,功能丝毫不逊色C++,
比起VB,毫无疑问比VB好多了,重要的是快,高效! 高效的Pascal编译器,强大的数据库支持==....

  Delphi在进行计算量相当大的时候会出现程序假死,在线程编程的时候会出现线程堵塞,更重要的是在线程编程时可以大大加快程序的效率。。
我们可以用这个函数:Application.ProcessMessages; //防止线程堵塞,程序假死

  如在进行一个0到10000的运算时可能会出现假死的现象

 

  1. procedure TForm1.Button1Click(Sender: TObject);  
  2. var  
  3. n:Integer;  
  4. begin  
  5. for n:=0 to 10000 do  
  6. begin  
  7. Edit1.Text := IntToStr(n);  
  8. end;  
  9. end;  

 

 

把它改成这样

 

  1. procedure TForm1.Button1Click(Sender: TObject);  
  2. var  
  3. n:Integer;  
  4. begin  
  5. for n:=0 to 10000 do  
  6. begin  
  7. Application.ProcessMessages;  
  8. Edit1.Text := IntToStr(n);  
  9. end;  
  10. end;   


运行后的效果很明显...
送给Delphi新手,很实用的一个函数

 

原文地址:https://www.cnblogs.com/qingsong/p/3507179.html