OberonCore https://forum.oberoncore.ru/ |
|
Регистрация времени/момента изменения переменной https://forum.oberoncore.ru/viewtopic.php?f=27&t=2686 |
Страница 1 из 1 |
Автор: | hothing [ Пятница, 11 Июнь, 2010 13:48 ] |
Заголовок сообщения: | Регистрация времени/момента изменения переменной |
Уважаемые форумчане, помогите идеями по следующей задаче: в программе регистрации измерений (не важно чего) необходимо точно (до сотен миллисекунд) фиксировать момент (время) изменения некоторых переменных. Причем, не важно были ли изменения произведены внутри самой программы, либо переменная была изменена после опроса датчиков. Программа - это BlackBox с дополнениями. У меня получилось как-то сложно: для каждой переменной создается объект-обертка с методами Read, Write. Внутри этого же объекта хранится метка времени изменения. Естественно, такие переменные-объекты невозможно использовать со стандартными элементами интерфейса ЧЯ. А очень бы хотелось... |
Автор: | Евгений Темиргалеев [ Пятница, 11 Июнь, 2010 16:13 ] |
Заголовок сообщения: | Re: Регистрация времени/момента изменения переменной |
hothing писал(а): У меня получилось как-то сложно: для каждой переменной создается объект-обертка с методами Read, Write. Внутри этого же объекта хранится метка времени изменения. По-моему, по-другому программно не сделать.hothing писал(а): Естественно, такие переменные-объекты невозможно использовать со стандартными элементами интерфейса ЧЯ. А очень бы хотелось... Если очень надо в Вашей программе, достругайте Блэкбокс-основу Вашей программы.Какие вижу варианты: 1) Научить контролы работатать с обёртками. Тут (если до конца понимаю устройство ББ) достаточно правки модуля Controls. Придётся повозиться, правка будет кропотливой: всё, связанное с Controls.item. Но, можно ограничиться только нужными контролами. Цитата: item-: Meta.Item This item describes the variable or procedure to which the control is linked. 2) Альтернативный вариант для контролов: исправить Meta вместо Controls. Вести список наблюдаемых переменных. При каждом изменении переменной просматривать список и обновлять время. Реализация думаю, будет проще, но время обновления будет зависеть от числа наблюдаемых. |
Автор: | Илья Ермаков [ Пятница, 11 Июнь, 2010 18:21 ] |
Заголовок сообщения: | Re: Регистрация времени/момента изменения переменной |
Так контрол при любом изменении вызывает нотифайер с op = Dialog.change, если мне память не изменяет (сто лет с диалогами не работал, всё тексты ![]() Вот пусть нотифайер и фиксирует время. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |