J'essaie d'ajouter de nouveaux connecteurs à un modèle EA à l'aide de Python. Malheureusement, lorsque mon script s'exécute, il n'ajoute pas le connecteur. Le même script écrit en Javascript, via la console EA Javascript, est capable d'ajouter le connecteur.

Ce qui est étrange, c'est que le script Python n'échoue pas. Il se comporte comme s'il avait ajouté le connecteur. Si je rafraîchis les éléments connectés, il semble que le connecteur soit là. Je peux même obtenir un ConnectorID à partir de la console Python.

PYTHON:

from win32com.client import Dispatch
import os

ea = Dispatch("EA.App")
rep = ea.Repository
path = os.path.normpath("C:/temp/eaFile.eap")

e1 = rep.GetElementByID(121228)
e2 = rep.GetElementByID(120663)
newCon = e1.Connectors.AddNew("","Association")
newCon.ClientID = e1.ElementID
newCon.SupplierID = e2.ElementID
newCon.Update()

JAVASCRIPT:

e1 = Repository.GetElementByID(121228);
e2 = Repository.GetElementByID(120663);
newCon = e1.Connectors.AddNew("", "Association");
newCon.ClientID = e1.ElementID;
newCon.SupplierID = e2.ElementID;
newCon.Update();

Je m'attends à ce que le connecteur soit visible sous forme de lien sur l'élément dans Enterprise Architect - je ne le trouve pas lorsqu'il est exécuté à partir de Python, je le trouve lorsqu'il est exécuté à partir de Javascript.

1
Nickdom1 8 nov. 2019 à 03:20