在Enterprise Architect中元素的TaggedValue更改时得到通知

时间:2019-02-27 11:51:28

标签: events enterprise-architect

我是为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 :(得分:0)

您什么都不丢失。这根本不可能。唯一的解决方法是OnContext...,您可以在其中临时存储一个元素的状态,并在上下文更改时查看标记是否已更改。我不建议这样做,因为它涉及很多多余的数据库访问。

发送功能请求(如果您是个乐观的人)。另外,您应该考虑以其他方式解决此问题的方法。