Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.15;
Скачать: CL | DM;

Вниз

Что лучше применить - отдельный Thread или ProcessMessages?   Найти похожие ветки 

 
GuAV ©   (2004-08-02 19:56) [0]

В моем приложении во время поиска файла показывается окно с именем текущего файла и кнопкой отмена. Чтобы это все работало нужно обрабатывать сообщения во время поиска файла. Как лучше это сделать? Через Application.ProcessMessages после каждого файла? Выполнять Application.ProcessMessages после если прошло n милисекунд? Или вынести поиск в отдельный TThread?


 
panov ©   (2004-08-02 20:05) [1]

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


 
GuAV ©   (2004-08-02 20:12) [2]

panov ©   (02.08.04 20:05) [1]

А можно ещё аргументы почему?
Ведь кроме обработки сообщений перерисовки и нажатия кнопки у него дел нет.


 
GuAV ©   (2004-08-02 20:28) [3]

Ну хорошо, сделал поток, теперь вопрос по Synchronize. Через него надо вызывать обращения к VCL из execute или из конструктора тоже?


 
panov ©   (2004-08-02 20:35) [4]

Только из поточной процедуры - Execute.


 
GuAV ©   (2004-08-02 21:00) [5]

Спасибо.

Кстати, я посмотрел как в других приложениях - в Nero, в Total Commander, в проводнике - оказалось через поток только в проводнике. В тех что не через поток если взять окно поиска за заголовок, процесс приостаавливается. Поэтому сделаю через поток. Еще раз спасибо, Панов.


 
TUser ©   (2004-08-02 21:34) [6]

Тут недавно обсуждали вопрос, что нехорошо грузить систему лишним потоком. В простых слуаях - лучше РМ.


 
Fay ©   (2004-08-02 21:52) [7]

Простой случай - это когда юзеру фиолетово. Мечта!! 8)


 
GuAV ©   (2004-08-02 23:25) [8]

Короче, через PM уже сделано. Доделаю ещё через поток, тогда сравню.

> Тут недавно обсуждали вопрос, что нехорошо грузить систему
> лишним потоком.

:) а ты знаешь сколько потоков у explorera, когда открыто несколько папок и панелей инструментов... нехорошо... винда сама себя грузит лишним потоком :)

> Простой случай - это когда юзеру фиолетово. Мечта!! 8)

Не фиолетово. Именно он и попросил сделать эту фичу.



Страницы: 1 вся ветка

Текущий архив: 2004.08.15;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.049 c
3-1090222404
GanibalLector
2004-07-19 11:33
2004.08.15
запрос


3-1090493501
Phoenix
2004-07-22 14:51
2004.08.15
ClientDataSet и контекстный поиск


3-1090212073
Tempo
2004-07-19 08:41
2004.08.15
Как удалить определенные записи по условию


3-1090257058
pusrg
2004-07-19 21:10
2004.08.15
Ошибка при бекапе БД в FireBird


1-1091030683
Bloody-Wolf
2004-07-28 20:04
2004.08.15
Определение имени диска