У меня есть TThread, который получает и отправляет на устройство через COM-порт. После того, как я прочитал данные, я хочу активировать GUI (не в том же потоке), используя Synchronize (имя функции). Однако, когда я вызываю функцию формы графического интерфейса для выполнения нажатия кнопки, я получаю нарушение прав доступа. Я проверил, является ли значение формы нулевым, и это не так, поскольку это было бы очевидной причиной нарушения доступа. Прямо сейчас я устанавливаю глобальные флаги и использую таймер, который постоянно проверяет, удовлетворяется ли определенное условие, и если да, то я запускаю событие нажатия кнопки в этой форме. Кажется, это единственный способ избежать нарушения прав доступа.
Мне действительно не нравятся таймеры, так есть ли способ избежать использования таймера в форме?