Текущий архив: 2009.07.05;
Скачать: CL | DM;
Вниз
Подвисание формы Найти похожие ветки
← →
товарищ вася (2009-05-18 08:50) [0]Здравствуйте товарисчи!
Проблемка такая: при показе второй формы (fWait) она зависает, а на этой форме находится прогрессБар ... рефреширую форму каждый раз но всё равно виснет...
Самое прикольное что когда из дельфи запускаешь он не подвисает...procedure TForm1.ParseRepaintClick(
Sender: TObject);
var i:integer; cd,cr:Real;
begin
richedit2.Clear;
RichEdit1.Lines.BeginUpdate;
RichEdit2.Lines.BeginUpdate;
loading:=true;
fWait.Show; cr:=0; cd:=GetCurrentTime; fWait.Position:=poMainFormCenter;
for I:=0 to richedit1.Lines.Count-1 do
begin
fWait.Refresh; Form1.Refresh; fWait.Repaint; Form1.Repaint; FWait.Caption:="REPAINTING...";
fWait.ProgressBar1.Position:=trunc(i*100 / richedit1.Lines.Count);
cr:=GetCurrentTime-cd;
fWait.Label2.Caption:=floattostr(trunc((i/(cr+0.001))*1000)) ;
fwait.Label1.Caption:=floattostr(trunc(cr) / 1000);
fWait.Label6.Caption:=Floattostr(trunc(cr/1000*((richedit1.Lines.Count-1)/(i-0.001)-1)));
colorize(i);
end;
cr:=0; cd:=GetCurrentTime;
for i:=0 to richedit1.Lines.Count-1 do
begin
fWait.Refresh; Form1.Refresh; fWait.Repaint; Form1.Repaint; FWait.Caption:="PARSING...";
fWait.ProgressBar1.Position:=trunc(i*100 / richedit1.Lines.Count);
cr:=GetCurrentTime-cd;
fWait.Label2.Caption:=floattostr(trunc((i/(cr+0.001))*1000)div 1) ;
fwait.Label1.Caption:=floattostr(trunc(cr) div 1000);
fWait.Label6.Caption:=Floattostr(trunc(cr/1000*((richedit1.Lines.Count-1)/(i-0.001)-1)));
richedit2.lines.Add(encode(richedit1.Lines.strings[i]));
end;
loading:=false;
RichEdit1.Lines.EndUpdate;
RichEdit2.Lines.EndUpdate;
richedit2.SelStart:=0;
richedit1.SelStart:=0;
fWait.Hide;
end;
А теперь уважаемые знатоки вопрос:
Кто виноват, и что делать?
← →
MonoLife © (2009-05-18 09:00) [1]Application.ProcessMessage
← →
Сергей М. © (2009-05-18 09:02) [2]for i:=0 to richedit1.Lines.Count-1 do
begin
// убери все вызовы Refresh и Repaint
..
Application.Processmessages; // этот метод "оживит" все формы
end;
← →
товарищ вася (2009-05-18 09:06) [3]Большое спасибо!
Страницы: 1 вся ветка
Текущий архив: 2009.07.05;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.004 c