Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];

Вниз

Что лучше применить - отдельный 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.034 c
4-1088416870
vertal
2004-06-28 14:01
2004.08.15
Передача управления другой программе без возврата


1-1091277202
_iceman_
2004-07-31 16:33
2004.08.15
TFontDialog.Execute


11-1060280346
BelchonokH
2003-08-07 22:19
2004.08.15
У кого -нибудь есть компонент для работы UDP протоколом?


1-1091090486
СтёпКин
2004-07-29 12:41
2004.08.15
DirectX SDK


9-1083066784
karlsn
2004-04-27 15:53
2004.08.15
Вопрос про OpenGl





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский