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 ... 3 4 [5] 6 7 ... 61
What are the strings you are returning for your menu items (particularly the root menu)?  Do any of them contain a hyphen at the beginning (indicating a submenu) followed by one or more spaces?

For example: We had a report from another user who was returning a string like "- My Menu" for their root menu.  For some reason the space following the hyphen was getting stripped by EA, which then failed on later comparison, resulting in no menu items getting displayed under EA 13.  Deleting the space after the hyphen resolved the problem.

If you are still having problems, please provide a copy of the code for your EA_GetMenuItems method so we can take a closer look.

Just to be clear though, the upcoming webinar is primarily focused on installation of Enterprise Architect itself under WINE.  I don't think it will be covering installation of keystore or cloud services (at least not as far as I know).

Root (Model) packages are a special case.  They do not have an associated Element class and will not have Tagged Values either.

Bugs and Issues / Re: All Add-ins is missing
« on: November 25, 2016, 09:46:42 am »
We have seen some strange problems like this when someone (or something?) has set a default value at the top of the HKEY_CURRENT_USER registry hive.

We have seen cases with other customers where something has set a value there it causes problems when EA tries to query the [HKEY_CURRENT_USER\Software\Sparx Systems\EAAddins] key.  For some reason when the key being requested does not exist, the Windows API returns whatever value was set at the top of HKEY_CURRENT_USER instead.

Try selecting the (Default) value directly under HKEY_CURRENT_USER, then Right-click | Delete it.  (not the HKEY_CURRENT_USER key itself, just it's default value).

The (Default) value should say (value not set) next to it.  If you see a different value, or a blank value, delete the (default).

Usual caveats apply here - be very careful when messing about in the registry or you may kill your Windows installation.

General Board / Re: Is there a VS integration with Cloud Services
« on: October 17, 2016, 12:23:42 pm »
In Enterprise Architect, connect to your cloud server and then save a Shortcut EAP file to this repository.

In Visual Studio, select Attach Existing Model and then browse to this shortcut EAP file.

General Board / Re: EA upgrade to 13 - system requirements
« on: October 14, 2016, 11:18:36 am »
Hi Carsten,

Yes, EA 13 is supported on WINE and actually contains many improvements in regards to Linux/Mac compatibility.  See:

The installation process should still be quite similar to EA 8, except that EA installers are now distributed as a .MSI file rather than a .EXE, so the install command is slightly different now.  The page you mention was recently revised to hopefully make the entire installation process more clear.

General Board / Re: EA installation on MacOS
« on: October 07, 2016, 01:43:25 pm »
For information about how to install EA under Linux and Mac operating systems, please see:

General Board / Re: Migration from Rhapsdody to EA
« on: September 22, 2016, 02:43:40 pm »

General Board / Re: MDG SYSML Installation
« on: September 20, 2016, 10:11:20 am »
The SysML add-in is obsolete and should not be installed.  SysML functionality is now built-in with Enterprise Architect and should automatically be available when an appropriate license key is detected.  (E.g. EA Ultimate, EA Systems Engineering, or a combination of EA Corporate/Professional + MDG Technology for SysML license keys).

General Board / Re: EA 11 and Anniversary Edition Update
« on: September 15, 2016, 09:33:50 am »
Official support for Windows 10 was first added in EA 12.1 (Build 1224).  EA 11 is not supported for Windows 10.

Bugs and Issues / Re: Co-Exist EA 13 and 12.1?
« on: September 02, 2016, 12:54:39 pm »
See "Can you install Enterprise Architect 13 alongside an older version?" below the Audience Questions on the following page from the recent EA 13 Release Highlights webinar:

General Board / Re: Drawing a square on a diagram
« on: September 01, 2016, 09:47:15 am »
y-position goes to negative, not positive.
Top and Bottom when stored in the database will be negative values, but when you are passing them to DiagramObjects.AddNew you specify them as positive values.  You will need to change the values you are passing though - at the moment you have the left, right, top and bottom all on the same x/y position.

The actual problem in the code sample you provided is that you are only creating a DiagramObject.  You haven't created the actual Element for the boundary.

Try something like this instead:

Code: [Select]
EA.Package ParentPackage = repository.GetPackageByID( MyDiagram.PackageID );
EA.Element NewElement = (EA.Element)ParentPackage.Elements.AddNew("", "Boundary");

leftPos = 100;
rightPos = 300;
topPos = 100;
bottomPos= 200;

EA.DiagramObject NewDiagramObject = (EA.DiagramObject)MyDiagram.DiagramObjects.AddNew("l=" + leftPos + ";r=" + rightPos + ";t=" + topPos + ";b=" + bottomPos + ";", "");
NewDiagramObject.ElementID = NewElement.ElementID;

Creating Foreign Keys via automation is a bit more complicated.  Here is some VBScript code I wrote a while ago which should do the job, or at least provide some further guidance.  Hope that helps.

Code: [Select]
' Create a foreign key relationship between two database columns (attributes)
' @param[in] fkField (EA.Attribute)
' @param[in] pkField (EA.Attribute)
sub DefineForeignKey(fkField, pkField)
    dim pkOpName, fkOpName
    dim fkTable as EA.Element
    dim keyTable as EA.Element
    dim fkConnector as EA.Connector
    dim fkOperation as EA.Method
    dim op as EA.Method
    dim param as EA.Parameter

    set fkTable = Repository.GetElementByID(fkField.ParentID)
    set keyTable = Repository.GetElementByID(pkField.ParentID)
    ' get target Primary Key name
    for each op in keyTable.Methods
        if op.Stereotype = "PK" Then
            for each param in op.Parameters
                if param.Name = pkField.Name then
                    pkOpName = op.Name
                    exit for
                end if
        end if
    ' define Foreign Key Name
    fkOpName = "FK_" & fkTable.Name & "_" & keyTable.Name
    ' define connector
    Set fkConnector = fkTable.Connectors.AddNew("", "Association")
    fkConnector.SupplierID = pkField.ParentID
    fkConnector.StyleEx = "FKINFO=SRC=" & fkOpName & ":DST=" & pkOpName & ":;"
    fkConnector.StereotypeEx = "EAUML::FK"
    fkConnector.ClientEnd.Role = fkOpName
    fkConnector.ClientEnd.Cardinality = "0..*"
    fkConnector.SupplierEnd.Role = pkOpName
    fkConnector.SupplierEnd.Cardinality = "1"
    ' define fk operation
    set fkOperation = fkTable.Methods.AddNew(fkOpName, "")
    fkOperation.StereotypeEx = "EAUML::FK"
    set param = fkOperation.Parameters.AddNew(fkField.Name, fkField.Type)
    'set "On Delete" and "On Update" (optional)
    SetMethodTag fkOperation, "Delete", "Cascade"
    SetMethodTag fkOperation, "Update", "Set Null"
    SetMethodTag fkOperation, "property", "Delete Cascade=1;Update Set Null=1;"

    ' update attribute details
    fkField.IsCollection = true
end sub

function SetMethodTag(theMethod, tagName, tagValue)
    dim tag as EA.MethodTag
    set tag = theMethod.TaggedValues.GetByName(tagName)
    if tag is nothing then
        set tag = theMethod.TaggedValues.AddNew(tagName, "")
    end if
    tag.Value = tagValue

    set SetMethodTag = tag
end function

General Board / Re: Use attributes in behavior description
« on: July 26, 2016, 05:15:26 pm »
As qwerty mentioned, the Behavior field is only plain text so you can't put hyperlinks in there.  Instead, perhaps put hyperlinks to the referenced attributes in the Notes field for your operation?

You should be able to connect to your cloud server via automation.

The below code sample will connect to the "Sydney Cloud" server which is described on the following page
Code: [Select]
Repository.OpenFile( "Sydney Cloud --- ;Connect=Cloud=protocol:http,,port:80;Data Source=Example;DSN=Example;" );
Replace the various parts of that connection string with the relevant details of your own server.

Pages: 1 ... 3 4 [5] 6 7 ... 61