|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
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; ......... Я за здоровый экстрим! Спасибо за "спасибо") |
#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
|
||||
|
||||
спасибо, специфику потоков понял
Я за здоровый экстрим! Спасибо за "спасибо") |