? ODK : Linking Tag Connections
Шимолин Сергей,
ОАО "УМЗ"; 16.4.03
Кто-нибудь работал с ODK-ми функциями для реализации команды
Linking Tag Connections.
Задача : В базе список тегов, по ним в картинке pdl нужно создать
индикаторы (заданные групповые объекты) и автоматически привязать
теги из базы. Копирование, привязка получается. Не получается
сделать функцию замены, как в Linking Tag Connection. Может кто
делал что-нибудь похожее.. и поделится... :)
Re: ? ODK : Linking Tag
Connections
Лев
Шерешевский; 18.4.03
Если я правильно понял Вашу задачу, необходимо использовать функцию
ODK PDLRTSetLink или использовать макрос LinkInstance. Оба эти
варианта работают нормально, но с ними достаточно много возни. Если
есть возможность, удобнее использовать TagPrefix, хотя и с ним есть
свои сложности.
Re: ? ODK : Linking Tag
Connections
Прокопенко Вера; 8.5.03
Аналогичная проблема. Нужно скопировать объект , в котором
изменение свойства (цвет) привязано к тегу через Dynamic Dialog и
поменять имя тега. Функция PDLCSSetLink в данном случае имя тега
меняет, но сбрасывает динамические привязки. Я допускаю ошибку, или
PDLCSSetLink работает только с тегами, привязанными напрямую? Что
такое макрос LinkInstance и как он использеутся?
Re: ? ODK : Linking Tag
Connections
Лев
Шерешевский; 10.5.03
Давайте четко определимся с поставленной задачей. Суда по тому, что
Вы пытаетесь использовать функции CS, цель состоит в создании в
design-time идентичных копий объектов, привязанных к разным тегам.
Если число дубликатов, которые необходимо создать, не чрезмерно,
проще всего ограничиться стандартным методом: создать копии и
перепривязать их используя Edit->Linking->Tag Connections.
Этот способ корректно меняет теги, динамические привязки и даже
привязку к тегам в скриптах (если все сделать правильно). С
функцией же PDLCSSetLink, скорее всего, Вы не сможете создать копию
привязки Dynamic Dialog, т.к. это сгенерированный с помощью
wizard-а скрипт.
Второй вариант действий - это использовать перепривязывание во
время исполнения. Здесь, как я уже писал, можно применять TagPrefix
(работает и с привязками Dynamic Dialog), функцию PDLRTSetLink и
макрос LinkInstance.
Альтернативный вариант - использовать технологию Picture Module
(см. одноименную закладку Dynamic Wizard)
По поводу LinkInstance. Это макрос, определенный в файле
WinCC\aplib\PicBlck.h. Принципиальных преимуществ он не дает, но
может быть удобен при большом количестве связей. Как он действует
Вы сможете понять, изучив результаты работы wizard-ов Picture
Module.
Re: ? ODK : Linking Tag
Connections
Владимир;
12.5.03
Интересует функция PDLRTSetLink.
Можно примерчик, как это прилепить к какому-либо свойству объекта
?
Re: ? ODK : Linking Tag
Connections
Лев
Шерешевский; 12.5.03
Эта функция достаточно подробно описана в ODK. Особых
неожиданностей при ее использовании вроде бы не возникает, но если
будут проблемы, пишите по электронной почте, будем разбираться.
Re: ? ODK : Linking Tag
Connections
Владимир;
14.5.03
PDLRTSetLink не работает с привязками Dynamic Dialog. Какие еще
есть варианты чтобы работало с Dynamic Dialog?
Re: ? ODK : Linking Tag
Connections
Лев
Шерешевский; 15.5.03
Вы можете использовать TagPrefix, он распространяется и на связи,
созданные Dynamic Dialog. Есть и другие способы, но они уж слишком
трудоемкие и медленно работающие.
Re: ? ODK : Linking Tag
Connections
Владимир;
15.5.03
Кстати о TAG Prefix. Уже обсуждался вопрос о том, как избавиться на
некоторых объектах в Picture Window от этого свойства. Кроме связей
Indirect я ничего не смог применить. Есть ли еще способы?