WinCC 5.0: Параметры ActiveX
events
Дмитрий Лаушкин; 5.2.04
Задача такая: Самодельный объект ActiveX запрашивает данные, для
этого вызывает событие и передает в него параметры, в надежде
получить обратно соответствующие данные в одном из параметров типа
in/out. Все попытки реализовать это простыми и очевидными способами
закончились неудачей.
1. Событие с параметром типа VARIANT* просто не вызывается (без
сообщения об ошибках, чтобы пользователя не огорчать).
2. Параметр типа long* в WinCC читается и изменяется, но в объект
возвращается старое значение.
3. События, возвращающие результат, WinCC не признает, тип
результата всегда void.
Может сталкивался кто с такой задачей? Другие способы передачи
данных в объект (свойства/методы) не подходят, т.к. WinCC про
объект ничего не знает.
Дмитрий Лаушкин
ICQ: 51367389
Re: WinCC 5.0: Параметры ActiveX
events
Alexis; 6.2.04
ActiveX работает в PDLRT?
А почему тогда не передавать данные из event в property этого же
объекта?
Re: WinCC 5.0: Параметры ActiveX
events
Дмитрий Лаушкин; 6.2.04
И это я тоже пробовал, но получается так: некий метод объекта
(UpdateData)скажем 10 раз вызывает событие, запрашивая различные
данные, а в обработчике события устанавливается свойство объекта,
но вызовы метода изменения свойства происходят уже после
выполнения
Re: WinCC 5.0: Параметры ActiveX
events
Дмитрий Лаушкин; 6.2.04
И это я тоже пробовал, но получается так: некий метод объекта
(UpdateData) скажем 10 раз вызывает событие, запрашивая различные
данные, а в обработчике события устанавливается свойство объекта,
но фактически вызовы метода изменения свойства объекта происходят
уже после завершения метода UpdateData, все 10 по очереди. То есть,
этими данными я могу воспользоваться только после завершения
UpdateData, "объяснив" получателям данных, что данных пока нет.
На самый крайний случай сгодится и такой вариант, но уж больно
криво получается...
Re: WinCC 5.0: Параметры ActiveX
events
Роман; 17.2.04
Поробуй свойства объекта подключить к тегам, а уже в эти теги
писать и читать.
Re: WinCC 5.0: Параметры ActiveX
events
Дмитрий Лаушкин; 20.2.04
Удивительно, но эффект тот же.
В обработчике события объекта OnGetData устанавливаю тэг с данными.
Этот тэг жестко привязан к свойству объекта (можно в c-action
возвращать свойство по изменению этого тэга - без разницы).
Выполняется это в такой последовательности:
1. Вызывается OnGetData
2. Устанавливается тэг
3. Завершается OnGetData
4. Устанавливается свойство объекта
Причем, если OnGetData вызывается несколько раз подряд, то свойство
объекта устанавливается только после завершения последнего вызова
OnGetData. Может я что-то делаю не так?.. Но, вроде, уже все
перепробовал.<<br>