Как добавить триггер в область «Свойства-Ограничения-Триггеры» перехода конечного автомата в Enterprise Architect? Кавычки - это то, как вы попадаете туда вручную в EA.Добавить Trigger to Transition
Что я Пробовал
Ниже, это на самом деле приводит к триггеру добавляемого к государственной машине, но мне нужно, чтобы связать его с определенным переходом. Переменная stateMachine имеет тип EA.Element.
EA.Element trigger = (EA.Element)stateMachine.Elements.AddNew("trigger", "Trigger");
Государственный имеет тип EA.Element. Коннектор имеет тип EA.Connector (конкретный переход StateFlow, к которому я пытаюсь добавить триггер). Все они, похоже, ничего не делают. Фактически, Ограничения кажется пустой коллекцией, даже после того, как я добавляю новые элементы.
state.Constraints.AddNew("trigger", "Trigger");
connector.Constraints.AddNew("trigger", "Trigger");
state.StateTransitions.AddNew("trigger", "Trigger");
Я проскочил через советник EA и не повезло. Функция поиска не так хороша, хотя, возможно, я что-то пропустил.
Интересная информация (Может быть к чему-то)
MiscData для Connector типа, кажется, государство потока вызвать информацию. Согласно очень надежной книге (спасибо г-ну Килиану), PDATA1 из MiscData, по-видимому, является именем триггера State Flow. Но как добавить новый триггер? MiscData только для чтения.
Если у меня есть мой репозиторий (EA.Repository), то, что я должен сделать, чтобы использовать ExecuteSQL()? EA.Repository не имеет определения для executeSQL – Avantol13
@ Avantol13 Repository.Execute (строка SQL). Как уже упоминалось, это не документировано, поэтому ваш intellisense не покажет его как вариант. model.executeSQL - моя оболочка. –
Используйте Repository.SQLquery («SELECT ...»), который возвращает XML и Repository.Execute («UPDATE/DELETE ...»), который ничего не возвращает.В обоих случаях появляется сообщение EA, если есть некоторая ошибка SQL. –