Остановка исполнения цикла по кнопке
Добавлено: 01 янв 2018, 21:47
Всех с наступившим Новым годом!
И так суть проблемы.
Есть отладочная программа передачи команд в железо, писалась "чисто для себя". В программе имеется режим передачи данных из файла, передача происходит через виртуальный компорт с формированием пакетов идущих через каждые 5...15 мс (задается элементом Timer). Общее время передачи в этом режиме от 80 до 240 с.
В процессе обучения коллеги работе выяснилось, что не хватает кнопки принудительного выхода из режима передачи (коллега импульсивный и понажимал во время передачи на кнопку отправки такое число раз, которое соответствует объему пулеметной ленты, и как следствие процесс шел более получаса, пока я не решился принудительно остановить саму оболочку).
Поразмыслив, решил добавить кнопочку остановки, заменил цикл на вечный и сделал, казалось простое - объединил через "или" кнопку остановки с порогом цикла. (см. вложение)
Но либо я чего-то не учел, либо я что-то не то сделал вообще - остановка по числу срабатывает (ну скажем 1024 порог, превысили - вышли из цикла), а вот кнопка не отрабатывается - нажатие на нее не дает результата и цикл останавливается лишь по достижению порога.
Подскажите, что не так?
И так суть проблемы.
Есть отладочная программа передачи команд в железо, писалась "чисто для себя". В программе имеется режим передачи данных из файла, передача происходит через виртуальный компорт с формированием пакетов идущих через каждые 5...15 мс (задается элементом Timer). Общее время передачи в этом режиме от 80 до 240 с.
В процессе обучения коллеги работе выяснилось, что не хватает кнопки принудительного выхода из режима передачи (коллега импульсивный и понажимал во время передачи на кнопку отправки такое число раз, которое соответствует объему пулеметной ленты, и как следствие процесс шел более получаса, пока я не решился принудительно остановить саму оболочку).
Поразмыслив, решил добавить кнопочку остановки, заменил цикл на вечный и сделал, казалось простое - объединил через "или" кнопку остановки с порогом цикла. (см. вложение)
Но либо я чего-то не учел, либо я что-то не то сделал вообще - остановка по числу срабатывает (ну скажем 1024 порог, превысили - вышли из цикла), а вот кнопка не отрабатывается - нажатие на нее не дает результата и цикл останавливается лишь по достижению порога.
Подскажите, что не так?