【问题标题】:Error when trying to update Enterprise Architect StateMachine Connector in Jscript尝试在 Javascript 中更新 Enterprise Architect 状态机连接器时出错
【发布时间】:2015-05-29 01:12:14
【问题描述】:

更新 Enterprise Architect 连接器时,我收到以下错误消息:

StateFlow is not legal for State --> State, Line:47 

我想更新的原因是我想为我的一个连接器添加一个 Stereotype。 我已经通过 SQL Quierie 搜索 1 个 GUID 整理了一个特定的 EA.Element。

"SELECT * FROM t_object WHERE ea_guid='<Some specific GUID>'"

从这个元素中,我选择了唯一一个自转换的连接器。 如果我理解正确,我必须设置 selftransition 标签,然后更新连接器。但是当我更新时,会显示上面的错误消息。

我的代码:

if(element.Elements.Count!=0)//element is Propably a comp state or Statemachine
    {   
        connectors = element.Connectors; 
        for(var j = 0; j<connectors.Count; j++)
        {
            connector = connectors.GetAt(j);
            if(connector.ClientID == connector.SupplierID)
            {
                tempElement = element;
                connector.Stereotype="New Stereotype";
                connector.Update();

            }   
        }       
    }

图中红色的Transition就是抛出错误的Transition。

错误是什么意思,为什么我不能更新连接器? 如果您有其他建议如何向连接器添加刻板印象,我很乐意欣赏它们。

【问题讨论】:

    标签: enterprise-architect


    【解决方案1】:

    这似乎是一个错误,因为 StateFlow 似乎是两个州之间的合法连接器类型。

    您可以尝试在选项中取消选中严格的连接器语法设置

    如果你在最新版本中仍然存在这个问题,那么你可以report它作为一个错误

    如果没有任何帮助,您可以随时尝试绕过 API 并直接访问数据库。 尝试类似

    Repository.Execute("update t_connector set stereotype = 'MyStereo' where connector_ID = 1234");
    

    当然要用实际的connector_ID替换1234

    【讨论】:

      猜你喜欢
      • 2017-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多