![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Приветствую.
Впервые использую потоки. Возникла необходимость показывать движущийся прогресс бар при долгих действиях (н\п призагрузке файла). Бар в отдельной форме. Почему-то не работает( Код:
............
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; ......... |
|
#2
|
||||
|
||||
|
потому что когда в основном потоке выполняется строка
Код:
// долгие операции |
|
#3
|
||||
|
||||
|
и как быть тогда?
мне нужно простейшее анимирование при каких-либо действиях проще говоря, полный аналог Код:
screen.cursor:=crHourGlass; ... screen.cursor:=crdefault; |
|
#4
|
||||
|
||||
|
строку
Код:
// долгие операции |
|
#5
|
||||
|
||||
|
но тогда это не будет являться универсальной процедурой, которую можно воткнуть в любое место программы
может есть другие способы визуализировать долгие процессы? (кроме screen.cursor) |
|
#6
|
||||
|
||||
|
Код:
Application.ProcessMessages; |
|
#7
|
||||
|
||||
|
это бессмысленно, например, в
Код:
ADOQuery_Slut.Insert;
TBLOBField(ADOQuery_Slut.FieldByName('file')).LoadFromFile(path);
ADOQuery_Slut.Post;прога как бы виснет и все... |
|
#8
|
||||
|
||||
|
Цитата:
|
|
#9
|
||||
|
||||
|
Цитата:
|
|
#10
|
||||
|
||||
|
Цитата:
|
| Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
Mrak (27.01.2014)
| ||
|
#11
|
||||
|
||||
|
Цитата:
|
| Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
Mrak (27.01.2014)
| ||
|
#12
|
||||
|
||||
|
спасибо, специфику потоков понял
|