Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Обмен данными из главного окна (VCL) c потоком (TThread)

4.5K
27 ноября 2004 года
NightSleeper
43 / / 09.10.2004
Здравствуйте,
В моей программе я запускаю поток, в алгоритме потока в нескольких местах (не в одном, как в классическом примере) мне нужно получить доступ к элементам VCL: инкремент ProgressBar, вывести в Edit поле имя очередного файла и т.п.
подскажите пожалуйста как это сделать?
Как я понял Synchronize позволяет это сделать, но только в одном месте алгоритма...
Могу ли я из главного потока (главного окна) периодически считывать данные из pablic полей запущенного потока?
310
27 ноября 2004 года
fellow
853 / / 17.03.2003
"Synchronize позволяет это сделать" сколько угодно раз из каких угодно мест. Кроме того, он позволяет делать что угодно. При вызове Synchronize выполнение потока приостанавливается, а метод, переданный в качестве параметра, выполняется из основного потока приложения, в то время, как он сможет этот метод выполнить.
4.5K
27 ноября 2004 года
NightSleeper
43 / / 09.10.2004
А когда "он сможет этот метод выполнить"? Когда не может? Пожалуйста напишите подробнее.
310
27 ноября 2004 года
fellow
853 / / 17.03.2003
Цитата:
Originally posted by NightSleeper
А когда "он сможет этот метод выполнить"? Когда не может? Пожалуйста напишите подробнее.


Сможет тогда, когда ничем другим не будет занят, т.е. примерно в 90% всего времени работы :)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог