尝试在 Jscript 中更新 Enterprise Architect StateMachine Connector 时出错

Error when trying to update Enterprise Architect StateMachine Connector in Jscript

更新 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。

错误是什么意思,为什么我不能更新连接器? 如果您有其他关于如何向连接器添加构造型的建议,我将很乐意接受它们。

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

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

如果您在最新版本中仍然遇到此问题,那么您可以report将其作为错误

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

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

用实际的 connector_ID 替换 1234 当然。