Получить уведомление, когда TaggedValue элемента изменяется в Enterprise Architect - PullRequest
0 голосов
/ 27 февраля 2019

Я новичок в создании надстроек для Enterprise Architect, и у меня есть эта проблема: у меня есть диаграмма с элементами, которые имеют TaggedValues.Я хочу получать уведомления при изменении значения TaggedValue и видеть новое значение.Я видел, что есть это событие EA_OnElementTagEdit , но я не могу вызвать его.Я также увидел, что значение тега должно иметь тип AddinBroadcast , но я не могу заставить его работать.Чего мне не хватает?

Я приведу ниже образец моего кода:

            //creating tagged value
            EA.TaggedValue ob3 = (EA.TaggedValue)NewElement.TaggedValues.AddNew("Responsible", "val");
            ob3.Value = EEPROMBlocks.ElementAt(index).Responsible;
            ob3.SetAttribute("Type", "AddinBroadcast");
            ob3.Update();

            //event method
            public override void EA_OnElementTagEdit(EA.Repository Repository, long ObjectID, ref string TagName, ref string TagValue, ref string TagNotes)

1 Ответ

0 голосов
/ 27 февраля 2019

Вы ничего не пропустили.Это просто невозможно.Единственный выход - это OnContext..., где вы временно сохраняете состояние одного элемента и смотрите, изменился ли тег при изменении контекста.Я не рекомендовал бы, так как это включало много лишних обращений к БД.

Отправка запроса на добавление (если вы оптимист).В качестве альтернативы вы должны подумать, как обойти это как-то еще.

...