dimazelensky писал(а):
то этого не происходит и весь процесс "зависает"
Ответов: 4663
Рейтинг: 767
|
|||
Компонент Events реализован коряво. "Создавать" событие (метод doCreate) нужно только 1 раз - при старте приложения. После создания события оно находится в состоянии "non-signalled". В этом состоянии WaitObject блокирует ("задерживает") вызвавший поток. Когда наступают требуемые условия - вызываешь метод Events.doSet, событие переходит в состояние "signalled" - тогда WaitObject отпускает блокируемый поток. Чтобы опять WaitObject позже остановился - нужно перевести событие в "non-signalled" методом doReset (или поставить ManualReset=False).
Я не в курсе твоей схемы, но "приостановить поток" как раз и значит что этот поток ничего не делает. Поэтому вызывать WaitObject не стоит из главного потока (то-есть, из событий визуальных компонентов, и в данном случае - из событий TCP_Client). Только из компонентов Thread. Вот эти компоненты могут дать дополнительные возможности в этом плане: /topic/63600 |
|||
карма: 26 |
|
Редактировалось 1 раз(а), последний 2020-03-18 16:45:14