Показать сообщение отдельно
  #1  
Старый 24.01.2014, 11:33
Аватар для Mrak
Mrak Mrak вне форума
Местный
 
Регистрация: 26.01.2013
Адрес: МО
Сообщения: 438
Версия Delphi: XE2
Репутация: 17
По умолчанию progressbar в поток

Приветствую.

Впервые использую потоки. Возникла необходимость показывать движущийся прогресс бар при долгих действиях (н\п призагрузке файла).

Бар в отдельной форме. Почему-то не работает(

Код:
............
  TMyThread = class(TThread)
  private

  protected
    procedure Execute; override;
    procedure Update;
  end;

var
  Form1: TForm1;
  MyThread: TMyThread;

implementation
.........

Код:
procedure TMyThread.Update;
begin
  Form3.ProgressBar1.StepIt;
end;

Код:
procedure tMyThread.Execute;
begin
  while not Terminated do
  begin
    Synchronize(Update);
    sleep(1000);
  end;
end;

Код:
  ........
  if (not Assigned(form3)) then form3:=tform3.Create(form3);
  form3.Show;
  MyThread:=TMyThread.Create(true);

  // долгие операции

  MyThread.Terminate;
  form3.close;
  .........
__________________
Я за здоровый экстрим!
Спасибо за "спасибо")
Ответить с цитированием