Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Aaron B

Pages: 1 ... 54 55 [56] 57 58 ... 60
Please read my previous response again.

You cannot cast an EA.Element object as EA.Requirement.  An EA.Element object of type "Requirement" is not the same as an EA.Requirement object.

Also, an EA.Requirement object is not the same as an EA.Element object of type "Requirement".  You should not try to cast it in this way.

An Element of type "Requirement" is referred to as an External Requirement, while object type EA.Requirement is for Internal Requirements (also called Responsibilities).  EA.Requirement objects are created using the Element.Requirements collection.

To understand the difference between internal and external requirements, see the following links:

To create a new Requirement Element (external requirement):

Code: [Select]
EA.Package aPackage = Repository.GetTreeSelectedPackage();
EA.Element element = (EA.Element)aPackage.Elements.AddNew("Test1", "Requirement");

To create an internal requirement:

Code: [Select]
EA.Element element = [...]
EA.Requirement req = (EA.Requirement)element.Requirements.AddNew("Test1", "Functional");

If you want to get an image of the diagram, look at using either the PutDiagramImageOnClipboard or PutDiagramImageToFile methods on the EA.Project object.

The Add-In needs to be registered with the system (i.e. using regasm.exe), and also needs to have an entry in the local registry to tell EA to look for it (e.g. [HKEY_CURRENT_USER\Software\Sparx Systems\EAAddins\<Addin Name>]).  If a user does not have rights to modify the registry, it may not be possible to properly install the Add-In.

From memory, .NET DLL's get registered with regasm.exe, not regsvr32.exe.  In either case, you shouldn't need to manually run this to do debugging.  In your VS project, make sure that "Register for COM Interop" is enabled (I think this is usually under the Build options).

Automation Interface, Add-Ins and Tools / Re: EA Lite & Plugins
« on: November 26, 2008, 11:51:38 am »
Try reading the Repository.EAEdition property. Values should correspond to the EA.EAEditionTypes enumeration.  I believe EA Lite reports a value of -1.

Automation Interface, Add-Ins and Tools / Re: Getting the linked item
« on: June 27, 2008, 03:32:10 pm »

1) First, you need a reference to the Element you are interested in.
2) Loop over the Element.Connectors collection
3) Check the Connector.ClientID and Connector.SupplierID values.  These are ElementID values for the objects at each end of the connector.  One of these will refer back to your first element, and the other will refer to the related element.
4) With the ElementID obtained above, use Repository.GetElementById() to retrieve a reference to the related element.


I would highly recommend that you run newAttribute.Update() before your create the new tagged value.  When creating a new object through automation, always run the object's Update() method before attempting to add anything to it's collection properties.

So something more like...

Code: [Select]
EA.Attribute newAttribute = (EA.Attribute)elContainer.Attributes.AddNew("MyAttribute", "");

EA.AttributeTag attrTag = (EA.AttributeTag)newAttribute.TaggedValues.AddNew("TagName", "");
attrTag.Value = "TagValue";



".vbp" files are project files, not source files.  ".bas" files can be imported by EA 7.1.  In Tools | Options, try setting the Import File Extensions setting for Visual Basic to ".cls;.frm;.ctl;.bas;".  See Visual Basic Options.

The only way to synchronize with a project file is by using something like our MDG Link Add-Ins (E.g. MDG Link for Visual Studio).  Unfortunately though there is no MDG Add-In for VB6 projects.

Last I knew on the subject, EA Automation would not work running as a service.  Not sure of the exact reason however.  I am not aware of anyone sucessfully running EA Automation from a windows service.

NB: When instantiating a new EA.Repository object, it needs to start an 'EA.exe' process to interface with.  It would appear that perhaps it is failing to start this process.

Just in addition to Simon's comments - MDG Link for Eclipse should work under Linux.  MDG Integration for Eclipse does not.  Please make sure that you are installing the correct Add-In.

No idea.  I'm not aware of any development on this at the present time.

I'm not aware of any way to stimulate commands from the EA menus at this time either.  Maybe through some SendKeys commands if you were desperate, but I probably wouldn't recommend it. ;)

Unfortunately it is not possible to create a custom dockable window or toolbar for an Add-In at this time, however you can create a custom ActiveX control within a new tab (sharing with the diagram pane).  This is done via the Repository.AddTab() method.  For more information, see:

Edit: Sorry, I just noticed from the end of your last post that you already seem to be aware of this.  Regardless, this is the only way to embed a custom interface within the EA window at this time.

Try calling Repository.AdviseElementChange(ElementID).  This should refresh most common EA windows where the specified element may appear.


The Floating License mechanism used by Enterprise Architect is proprietary and is not compatible with other floating license management systems at this time.  We have had requests to support other third-party license servers (such as FlexLM) but there is no development towards this at the present time.

Pages: 1 ... 54 55 [56] 57 58 ... 60