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 - Geert Bellekens

Pages: [1] 2 3 ... 576
1
I can confirm Simon's statement regarding StereotypeEx.
In my code I almost never use the Stereotype Field.
After setting the StereotypeEx field I would expect the Stereotype field only to be filled in after updating and reloading the element.

Simons tip about setting the qualified metatype is even better. Should remember to apply that in my own code.

Geert

2
Yes, the Clone feature of packages is broken.
It sometimes also duplicates relations to elements in the original package.

I've reported it just over a year ago, but it hasn't been fixed yet.

Geert

3
Dorian,

I think you better create a new topic; you replied on a post from 2008.
I doubt a 10 year old issue is still relevant today

Anyway, you should include much more info to get meaningful help.
All the mind-readers on this forum are on holiday for the moment. ;)

Geert

4
When trying to save (update()) an EA.ConnectorTag after setting the value to a string larger than 255 characters, EA crashes hard.
So hard you can't even catch the exception when debugging.
The exception code found in the eventviewer is 0xc0000409 which means STATUS_STACK_BUFFER_OVERRUN

I just spent a fun half a day tracking down this issue :-\

The API should catch this type of problem and return a regular COM exception instead of crashing and burning.

Geert

5
You can't. The schema composer is a black box without the option to somehow influence the results (apart from changing the input)

That is one of the reasons we don't use it to generate the output format (usually XSD)
We do use the Schema Composer to cherry-pick the contents of our messages from the canonical model, we we generate a subset model from it and then use other means to generate the output.

Geert

6
Automation Interface, Add-Ins and Tools / Re: EPPRofile:: ?
« on: December 12, 2018, 03:31:02 pm »
The id of the technology is EP. EPProfile comes from the profile name.
Remind me NOT to use Windows Search.  It didn't show up "EPProfile " as the content of ErikssonPenker.xml.

I should have used my normal search mechanism.

Obviously, Search is harder than it looks, given the number of issues we have with it.  ("No names, no pack drill"  ;))

Paolo
I used "Search in Files" from Notepad++ to find it. Didn't event think of using windows search.

Geert

7
Thanks, Geert,

Does this process ENSURE you DON'T get a general stereotype anomalously created?   That is, it will NOT (in your experience) create "MyProfile::Goal" (as we have seen).
I think it creates the stereotype if it can't find that one.
I've seen that happen when I had a typo in the name of my stereotype.

Geert

8
Bugs and Issues / Re: EA 14 - Missing table in Class diagram toolbox
« on: December 12, 2018, 02:28:04 am »
See the toolbox Database Engineering::Data Modeling.

Using te new search button (magnifier glass icon) you can search any toolbox item yourself.

Geert

9
.Stereotype only contains the first stereotype and should typically only be used to read, in case you are certain there will only be one stereotype. -> represents the Stereotype column in the database

.StereotypeEx contains a list of all stereotypes. You can set the stereotype(s) using their Fully Qualified Name (e.g. MyProfile::MyStereotype) -> represents the t_xref entries for stereotype in the database.

Geert


10
There are a number of things you could do:

1. Instead of using Package.Elements, for each nested package, get the all the elements using an SQL query. You'll have to first get the nested package ID (so actually what EA does to expand the #Branch# macro) string to get all elements regardless of their owner package. See https://github.com/GeertBellekens/Enterprise-Architect-VBScript-Library/search?q=getPackageTreeIDString&unscoped_q=getPackageTreeIDString

This should already speed up the script

2. Never iterate an EA.Collection more then once. Store the objects in an ArrayList, or a Dictionary and iterate over that. EA.Collections are weird things that sometimes go back to the database when iterating. They are not your average collection class.

3. Update all of the the packageID's using Repository.Update(SQLQuery).
This is the nuclear option, but since it only involves a single field that needs to be updated I guess it would still be OK. Your script will probably finish in a few seconds if you use this option.

Geert

11
If you show us the code you wrote we might be able to help.

It should suffice to set the EA.Connector.StereotypeEx and then Update() the connector.

The changes might not become visible until after a reload.

Geert

12
Ok, thanks, but how can I find it out via script? :o

I think I wasn't clear enough on the "not that easy" part.
What I meant was "really difficult, borderline impossible"
If you would ask me to give you an estimate on how long it would take me to write a script to give you the exact color of an element in a diagram, I would probably estimate it to be at least 4 solid weeks of work. (and I have a bit experience writing scripts in EA)

I suggest you find another way to get what you need.

Geert

13
Not that easy.

Colors can be defined at various levels

- There is a global default for the color of elements
- Diagram profiles can show elements in different colors
- Shapescripts (linked to stereotypes) can define colors
- Elements can have a default color
- Elements can have a specific color on a specific diagram
- Diagram legends can dynamically change the color of an element on a specific diagram

To get the exact color for an element a person is seeing on a diagram you would have to take all of these into account (and maybe some I missed)

Geert

14
Automation Interface, Add-Ins and Tools / Re: EPPRofile:: ?
« on: December 11, 2018, 06:52:38 pm »
from C:\Program Files (x86)\Sparx Systems\EA\MDGTechnologies\ErikssonPenker.xml

Geert

15
Paolo,

Always use StereotypeEx instead of Stereotype.
In StereotypeEx you can set the "fully qualified stereotype" such as "MyProfile::Goal"

This has always worked for me, but it is still a best practice to make sure your stereotypes are unique.
I use the Archimate approach for my own stereotypes: use a prefix such as «mp_Goal» This pretty much ensures the stereotypes are unique.

Geert

Pages: [1] 2 3 ... 576