Вверх ↑
Ответов: 53
Рейтинг: 1
#1: 2013-05-09 20:49:50 ЛС | профиль | цитата
Нужно реализовать чтобы при запуске дочерней формы все компоненты в ней обнулились (поля, таймеры и т.д.) тоесть чтобы дочерняя форма как-бы стартовала все время заново. Соответственно и при закрытии дочерней формы все процессы в ней (таймеры, циклы и т.д.) убивались.

Как вариант пробовал ChildFormEx в режиме Mode=OnlyOnce с показом как модальной (doShowModal) - все хорошо и запускается по новой и убивает все после закрытия, но одна беда - в главной родительской форме стоит асинхронный COM-порт и он передает данные в дочернюю форму и дочерняя форма отправляет данные назад. Данные передаются в дочернюю форму нормально, а при попытке что-то отправить в порт - программа вываливается с ошибкой, причем непонятно какой, каждый раз по разному или с зависанием или с закрытием программы... Я так понимаю - это из-за модальности так-как процессы основной формы заморожены и чегото туда сувать в это время некоректно?

Можно как-то сделать по другому? Или всетаки придется мостить кучу линков на сбросы и остановки компонентов в дочерней форме?
------------ Дoбавленo в 20.49:
PS Походу это таки связано с работой асинхронного порта в главной форме (именно выдаче данных для дочерней формы). Я так понимаю - это тупик, так как работа в основной форме должна быть остановлена, а асинхронный порт там что-то делает, что и вызывает неадекватную реакцию... да и порт асинхронный, как а понимаю, не совсем стандартный компонент... Жалко (
карма: 0

0