![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Что лучше применить - отдельный Thread или ProcessMessages? [D7]
GuAV © (2004-08-02 19:56:00)В моем приложении во время поиска файла показывается окно с именем текущего файла и кнопкой отмена. Чтобы это все работало нужно обрабатывать сообщения во время поиска файла. Как лучше это сделать? Через Application.ProcessMessages после каждого файла? Выполнять Application.ProcessMessages после если прошло n милисекунд? Или вынести поиск в отдельный TThread?
GuAV (2004-08-02 23:25:00) [1]Короче, через PM уже сделано. Доделаю ещё через поток, тогда сравню.
> Тут недавно обсуждали вопрос, что нехорошо грузить систему
> лишним потоком.
:) а ты знаешь сколько потоков у explorera, когда открыто несколько папок и панелей инструментов... нехорошо... винда сама себя грузит лишним потоком :)
> Простой случай - это когда юзеру фиолетово. Мечта!! 8)
Не фиолетово. Именно он и попросил сделать эту фичу.
Fay (2004-08-02 21:52:00) [2]Простой случай - это когда юзеру фиолетово. Мечта!! 8)
TUser (2004-08-02 21:34:00) [3]Тут недавно обсуждали вопрос, что нехорошо грузить систему лишним потоком. В простых слуаях - лучше РМ.
GuAV (2004-08-02 21:00:00) [4]Спасибо.
Кстати, я посмотрел как в других приложениях - в Nero, в Total Commander, в проводнике - оказалось через поток только в проводнике. В тех что не через поток если взять окно поиска за заголовок, процесс приостаавливается. Поэтому сделаю через поток. Еще раз спасибо, Панов.
panov (2004-08-02 20:35:00) [5]Только из поточной процедуры - Execute.
GuAV (2004-08-02 20:28:00) [6]Ну хорошо, сделал поток, теперь вопрос по Synchronize. Через него надо вызывать обращения к VCL из execute или из конструктора тоже?
GuAV (2004-08-02 20:12:00) [7]panov © (02.08.04 20:05) [1]
А можно ещё аргументы почему?
Ведь кроме обработки сообщений перерисовки и нажатия кнопки у него дел нет.
panov (2004-08-02 20:05:00) [8]Лучше вынести в отдельный поток. В этом случае основной поток может заниматься другими делами...