Страница 1 из 1

Доступ к свойствам экземпляра символов Archestra

СообщениеДобавлено: Пт мар 04, 2011 2:11 pm
Useful
Здравствуйте. Вопрос такой, существует ли способ прямого доступа к свойствам экземпляров, кроме custom properties. Например: Есть у экземпляра управляемой арматуры какой-то идентификатор. Написать, такой скрипт, в котором при нажатии на графическое изображение экземпляра символа, можно было получить идентификатор в InTouch.

СообщениеДобавлено: Пт мар 04, 2011 2:33 pm
Useful
как реализовать передачу данных, я разобрался, через то же custom properties только используя indirect переменную. А вот как насчет индентификаторов, как внутри самого символа получить хотя бы имя экземпляра?

СообщениеДобавлено: Сб мар 05, 2011 5:53 am
Klinkmann_Msk
Useful писал(а):как реализовать передачу данных, я разобрался, через то же custom properties только используя indirect переменную. А вот как насчет индентификаторов, как внутри самого символа получить хотя бы имя экземпляра?

CustomProperties (String) = Me.HierarchicalName;
или
CustomProperties (String) = Me.TagName;

СообщениеДобавлено: Пт мар 11, 2011 8:32 am
Useful
может я что-то не так делаю, но у меня возвращает пустую строку.
В IDE в закладке graphictoolbox создаю символ, в нем рисую прямоугольник. В custom properties создаю переменную abc типа string.
К прямоугольнику привязываю анимацию action script (on left click), и там пишу
abc = Me.HierarchicalName;
(так же пробовал с CustomProperties (String) = Me.TagName;).
Сохраняю символ, вставляю его в maker. Свойство abc связываю с переменной типа memory message, запускаю viewer нажимаю на прямоугольник. Результат переменная типа message имеет нулевую длину.
Если в Action script написать abc = "a1a1";,
то переменной в InTouch возвращается значение a1a1.
:roll:
что я делаю не так?
И не могли бы подсказать, конкретно в каком документе можно почитать про свойства, которые можно получить через "me.". Документация на InTouch 10.1 на мой взгляд неразумно раздута, да еще и разбита на несколько документов, что безумно усложняет поиск требуемой информации.

СообщениеДобавлено: Пт мар 11, 2011 8:54 am
Klinkmann_Msk
Useful писал(а):может я что-то не так делаю, но у меня возвращает пустую строку.
В IDE в закладке graphictoolbox создаю символ

Символ необходимо создавать в объекте App Server-а. Поскольку:
При конфигурировании элемента для ссылки на одно из его свойств в
конфигурационном поле или сценарии достаточно ввести имя
свойства. Для символов ArchestrA не существует самоотносимых
ссылок, таких как "me.", используемых в объектах автоматизации.
Однако, возможно использование ключевого слова "me." для
обращения к атрибутам объекта автоматизации, который содержит
конфигурируемый символ АrchestrA.

(AAGraphics.pdf, стр. 32)

И не могли бы подсказать, конкретно в каком документе можно почитать про свойства, которые можно получить через "me."

AAGraphics.pdf, стр. 32
IDE.pdf, стр. 211

СообщениеДобавлено: Пт мар 11, 2011 9:04 am
Useful
OMG как же тяжело с 8.0 переползать на 10.1

СообщениеДобавлено: Пт мар 11, 2011 9:07 am
Klinkmann_Msk
Useful писал(а):OMG как же тяжело с 8.0 переползать на 10.1

It's a wild world :wink:

СообщениеДобавлено: Пт мар 11, 2011 12:07 pm
Useful
Скажите, а для чего тогда вообще нужны Archestra Symbol в graphicToolbox?

СообщениеДобавлено: Пт мар 11, 2011 12:42 pm
Klinkmann_Msk
Useful писал(а):Скажите, а для чего тогда вообще нужны Archestra Symbol в graphicToolbox?

Для создания ArchestrA-символов, вероятно :)
Общих. Например, целый кадр мнемосхемы. Хотя, и под него можно создать шаблон/объект App Server-а.
Ну и конечно, для создания символов без объектов App Server-а (InTouch Published Application).

СообщениеДобавлено: Чт мар 17, 2011 10:59 am
Useful
Я тут слегка погорячился, с криком зачем нужны Archestra symbols, понял, что без системной платформы (которой не имею) это единственная возможность использовать Archestra graphic (или я ошибаюсь?). В свете последних умозаключений, переформулирую первоначальный вопрос: как используя экземпляры Archestra symbol (созданных в graphic toolbox), можно ли системными средствами создать идентификатор каждого?

Есть мысль как это можно организовать программно, ввести свойство идентификатора, при вставке на схему его заполнять, а в скрипт (например нажатия) записать присвоение другому свойству, которое будет привязано к тегу типа indirect.

Есть более элегантные пути решения этой проблемы?

СообщениеДобавлено: Чт мар 17, 2011 12:17 pm
Klinkmann_Msk
Useful писал(а):Есть более элегантные пути решения этой проблемы?

Без использования SP - вряд ли.