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 ... 7 8 [9] 10 11 ... 559
Bugs and Issues / Re: Notes for class attributes
« on: August 15, 2018, 12:11:49 am »
Apparently version 14.1 is bringing back the attributes dialog :)

You see Thomas, sometimes they do listen to us  ;D


General Board / Re: Is EA v 14 ready for Enterprise use?
« on: August 14, 2018, 11:32:44 pm »
I'm a bit in dubio.

On the one hand 1423 indeed seems to be a more or less stable version, but then I see that in v14.1 they are bringing back the attributes and operations dialog, which is much more user-friendly then the current docked window in v14.

I would say, if you have a couple of months time to wait until v14.1 is stable then it might be worth the wait.


Bugs and Issues / Re: DAO.QueryDef [3131] Syntax error in FROM clause.
« on: August 14, 2018, 10:58:30 pm »
I found it.

Seems to be related to Jet 4

My query tools aparently uses Jet 4, while I was using EA without the setting "Use Jet4".

By simply turning the setting on (without changing anything to my .eap file, so the file is still in Jet 3.5 format) it started working.

Next to that I also noticed a huge (8 seconds vs +10 minutes) performance different for one of my complicated queries with lots of joins and unions.


Bugs and Issues / DAO.QueryDef [3131] Syntax error in FROM clause.
« on: August 14, 2018, 10:30:00 pm »
I'm trying to write a somewhat complicated query, and I don't seem to be able to get EA to execute my query if it does a join with a subquery
I boiled it down to this type of statement:
Code: [Select]
select * from
t_attribute ta
inner join (select a.ID, a.Name from t_attribute a) dataq on dataq.ID = ta.ID
when I execute this in EA I get

DAO.QueryDef [3131]
Syntax error in FROM clause.

The annoying thing is that this executed perfectly fine on the same model when I execute it using SQL Anywhere.


Does anyone know a workaround for this problem?

General Board / Re: How to identify XMI Import errors
« on: August 14, 2018, 07:03:08 pm »
Since you have access to the source model, the easiest would probably be to write a small sql query searching for any relations to elements outside the package structure.
Inside EA searches/scratchpad you can use the macro #Branch# to get the id's of the packages in the selected package tree.


It's bad :-( I'm looking for some place where to display add-in version.
I always add an "about" menu option with all of my add-ins.


General Board / Re: History of lock/unlock
« on: August 08, 2018, 04:09:29 pm »
Thank you Geert

why do you think programming those triggers would not be a good idea?

1. In order to add a trigger you would have to change the database schema, which could cause any number of issues. One of them would be that the model transfer would not take into account these triggers.
2. Triggers have a notoriously bad reputation. (search for "are database triggers evil" and you'll get the gist of it)


General Board / Re: Multiselect Tag Value
« on: August 07, 2018, 06:49:32 pm »
I think EA has the actual selected values stored, it just doesn't display them like you would like to.

The workaround I can think of is to create an enum with all possible combinations.
Doable if there aren't too many options, but starts getting hard real soon as the amount of options go up.


General Board / Re: Multiselect Tag Value
« on: August 06, 2018, 09:53:46 pm »
Do you mean the enum type?


General Board / Re: History of lock/unlock
« on: August 06, 2018, 08:46:03 pm »
No, not really, unless you would create triggers on the database (which I don't think is good idea).

I don't think there are EA_OnUserLock and EA.OnReleaseUserLock events.


Suggestions and Requests / Re: Silent install based on list of keys?
« on: August 06, 2018, 07:56:06 pm »
Are you upgrading or installing new?
When upgrading you don't need to re-enter the license information.

There is a whitepaper that can be downloaded with a lot of details on how to do silent installs.
But I'm not sure if they handles standard licenses.
Is there a reason you are not using floating licenses? Depending on how often your users use EA you could save a hefty sum on license costs.


There are a few examples in the local scripts and the scripting MDG that should help you going.

Basically you'll need to

- get the selected package
- do an AddNew() on the selectedPackage.Packages collection
- Update the new package
- do AddNew() on the new packages Elements and/or Packages collection
- Update() on each new element/package


PS. VBscript example can also be found here:

This is the code for setting the keep with next on some styles:

Code: [Select]
Sub setStyles()
    Dim currentStyle As style
    Set currentStyle = ActiveDocument.Styles.Item("Heading 1")
    currentStyle.ParagraphFormat.KeepWithNext = True
    Set currentStyle = ActiveDocument.Styles.Item("Heading 2")
    currentStyle.ParagraphFormat.KeepWithNext = True
    Set currentStyle = ActiveDocument.Styles.Item("Heading 3")
    currentStyle.ParagraphFormat.KeepWithNext = True
    Set currentStyle = ActiveDocument.Styles.Item("Heading 4")
    currentStyle.ParagraphFormat.KeepWithNext = True
    Set currentStyle = ActiveDocument.Styles.Item("Diagram Image")
    currentStyle.ParagraphFormat.KeepWithNext = True
End Sub

This one resizes images:

Code: [Select]
Sub ResizeAllImages()

Dim oILShp As InlineShape

For Each oILShp In ActiveDocument.InlineShapes
    If oILShp.Height > CentimetersToPoints(23) Then
        oILShp.Width = ((CSng(oILShp.Height) / CentimetersToPoints(23)) * CSng(oILShp.Width))
        oILShp.Height = CentimetersToPoints(23)
    End If
End Sub

And this one sets the rows to allow to break across pages (useful for tables with large amounts of text)

Code: [Select]
Sub SetTableProperties()
    On Error Resume Next
    Dim oTbl As Table
    Dim oRow As row
    Dim headerRow As row
    For Each oTbl In ActiveDocument.Tables
        Set headerRow = oTbl.Rows(1)
        If headerRow.HeadingFormat Then
            For Each oRow In oTbl.Rows
                oRow.AllowBreakAcrossPages = False
        End If
End Sub


Try it on a new model with no other MDG's or add-ins enabled.


We use a word macro to
- shrink the images to the correct size so the title
- set certain styles "keep with next"


Pages: 1 ... 7 8 [9] 10 11 ... 559