![]() |
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]() ![]() ![]() |
|
Robus |
|
|||
Entire Профиль Группа: Участник Сообщений: 32 Регистрация: 15.12.2005 Репутация: нет Всего: 1 |
Низкий поклон!
Множество раз проходил через потоки, правда в основном это было под OpenGL, и к стандартным виндошным окнам я не касался. Множество раз делал синхронизации данных, но делал это собственноручно, не инструментами Delphi, поскольку слишком уж простая задача. Собственно столкнулся с проблемой когда решил из потока обратиться к "RichEdit.Text", и сразу поймал проблему. Решил особо не чудить и отказался от "RichEdit1". Но столкнулся снова с проблемой с простым "Label.caption", который просто вешает приложение в неактивном состоянии. Никаких ошибок не выдаёт, а простое подвисание, хотя поток крутится исправно. Я так понимаю, что проблема с синхронизацией. Как это побороть простым методом ? В программе поток вызывается так: WO.ThreadHND:=BeginThread(NIL,0,ADDR(WorkThread),0,0,WO.ThreadID); WorkThread это поток из которой идёт обращение к "Label.caption" ... Заранее благодарен. |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 16 Всего: 459 |
Если поток создавать при помощи наследника TThread то у него есть метод Synchronize для синхронизации с главным потоком.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
kami |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 15 Всего: 72 |
SendMessage или PostMessagе (в зависимости от необходимых данных) из потока форме, на которой находится нужный компонент. И уже методами формы ловить отправленное сообщение. Afair, TThread.Synchronize работает через SendMessage.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: WinAPI и системное программирование" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |