delphi 如何解决假死

来源:百度知道 编辑:UC知道 时间:2024/06/09 20:11:29
是一个算法,,在计算大文件时,出现假死,,

怎么解决呢
是从网上找到的类似sah1 的加密算法.
我不会修改啊.

有大数循环的情况,通常会出现假死,在循环前加一句:Application.ProcessMessages; 就可以了。。
比如下面的例子:
procedure TForm1.Button1Click(Sender: TObject);
var
i:Integer;
begin
for i:=0 to 100000 do
begin
Edit1.Text := IntToStr(i);
end;
end;
这样程序执行上面的代码时会出现假死,如果改成下面的就不会了。
procedure TForm1.Button1Click(Sender: TObject);
var
i:Integer;
begin
for i:=0 to 100000 do
begin
Application.ProcessMessages;
Edit1.Text := IntToStr(i);
end;
end;

Applicqation.ProcessMessages;
可以解决此问题.

不行就用线程吧.

用线程,或者处理语句后加
application.ProcessMessages;

查一下是不是出现无限循环啊
一般计算再大的文件也不会假死的,可能代码的问题