Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Что лучше применить - отдельный 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]

Лучше вынести в отдельный поток. В этом случае основной поток может заниматься другими делами...


Наверх

Титульная страница Поиск, карта сайта Написать письмо