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>