Показать сообщение отдельно
  #2  
Старый 26.01.2010, 17:22
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Виснет оно у тебя на sleep(3000).
Сделай так:

Код:
var
  i : Integer;
While Form1.ProgressBar1.Position<100 do
 Begin
 a:=random(15);
 Form1.ProgressBar1.Position:=Form1.ProgressBar1.Position+a;
 For i := 1 To 30 Do
   Begin
     Sleep(100);
     Application.ProcessMessages;
   End;
 End;
Ответить с цитированием