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 - Helmut Ortmann

Pages: [1] 2 3 ... 65
1
Automation Interface, Add-Ins and Tools / Re: MSScript for EA 16 64 Bit
« on: September 25, 2023, 07:50:41 pm »
Hello,

The error seems to be known and confirmed by SPARX:
- https://sparxsystems.com/forums/smf/index.php?topic=46571.0
    Best regards,

    Helmut

2
Automation Interface, Add-Ins and Tools / MSScript for EA 16 64 Bit
« on: September 22, 2023, 06:14:59 pm »
Hello,

I want to use MSScript for EA 16 64 Bit to start a JScript. The existing MSScript seems not to run in the EA 64 Bit environment.

Is there a way to start a JScript via MSScript or a workaround?

Thanks for your help.

Helmut

4
Hi,

If you want to run long-running SQL in parallel, you can use the BackgroundWorker, as Geert suggests.

You will get real parallel processing if you create a second EA.Repository object and use this in the background. Be aware, That you then have to ensure thread safety and the disposal of the second EA.Repository object.

I've tried it, and in my case, it works.

Best regards,

Helmut

5
Hi Geert,

Thanks for your answer.

It works pretty well for things like doing a lot in the background. I've already done such things, and I'm happy with this. A lot of short-running EA API calls are no issue.

Sadly, this approach doesn't work for a long-lasting API call to EA COM-Object like 'repository.SqlQuery()', which, in my case, may need minutes to complete. During the time to complete the method call, the main thread with the GUI is blocked by the BackgroundWorker. After the call, the main thread can run until the following API call to COM occurs.

In the meantime, I've googled and tested a bit.

Using the EA COM-Object (Repository) runs in a STAThread, which essentially states that this is a thread-unsafe call.

The BackgroundWorker is a MTA thread. The MTA background thread blocks the main thread until the call is finished to ensure that the thread-unsafe COM object will not cause any harm.

That's what I have understood.

The solution could be:
Making an own STAThread as a background thread.

I made a little test and confirmed the blocking of the main thread and the thread types (main: STAThread, background: MTA).

It all looks a little complicated and unpredictable (Thread handling, ????)

Best regards,

Helmut




6
Hello,

Can a long-running EA API SQL (repository.SqlQuery(sql))) be put in the background of the C# AddIn? During running this SQL, the AddIn GUI should be responsive for other tasks.

I have tried the BackgroundWorker. The BackgroundWorker works fine for not EA API calls. However, in the case of the API call 'repository.SqlQuery(sql)', it blocks the AddIn until the call is finished.

For other tasks, which may include short EA API Calls, the BackgroundWorker works fine. For example, I use it to load model content while starting the AddIn.

STA Threads may be a solution. But does anyone have experience with such background work?

Thanks and Best Regards,

Helmut

7
I think I have found the issue.

I have to hide the DiagramLink. Deletion doesn't work.

This is done to make it easyly possible to let reappear a Diagramlink.

8
Hi,

I tried to delete DiagramLinks and it seems not to work. The deletion of DiagramObjects work as expected.

Any idea?

Thanks and best regards,


Helmut

for (int i = dia.DiagramLinks.Count - 1; i >= 0; i = i - 1)
                    {
                        dia.DiagramLinks.DeleteAt((short)i, true);
                        countRemovedDiagramLinks++;
                    }
                    dia.DiagramLinks.Refresh();
for (int i = dia.DiagramObjects.Count - 1; i >= 0; i = i - 1)
                    {
                        dia.DiagramObjects.DeleteAt((short)i, true);
                        countRemovedDiagramObjects++;
                    }
                    //dia.Update();
                    dia.DiagramObjects.Refresh();

9
Hello,

Thanks for your valuable questions. My revised question:

Environment:
- EA 15.2 Build 1555
- PCS Version 4.2.66
- DB MySQL, connected via PCS to EA (no direct access to MySQL from EA, only via PCS)
1. Timeout
- Some queries are sometimes leading to TimeOut (around 60 seconds)
- Import large packages lead to a timeout (around 60 seconds)
2. Rename Package: Slow GUI, fast Script
- If I rename a package with the EA GUI it takes about 2 seconds
- If I rename a package with JScript from within EA it changes it immediately

EA works fine except for the above-described issues with large Repositories and some big queries. In smaller Repositories, there are no issues. It looks as if the issue only appears in situations with a great load. In the evening it often runs smoothly.


Thanks and best regards,

Helmut

10
Hello,

we have a lot of issues with TimeOut and unaccountable long GUI response times.

1. Timeout
- Some queries are sometimes leading to TimeOut (around 60 seconds)
- Import large packages lead to Iimeout (around 60 seconds)
2. Rename Package: Slow GUI, fast Script
- If I rename a package with the EA GUI it takes about 2 seconds
- If I rename a package with JScript from within EA it changes it immidiately

I've seen in this forum threads about TimeOut.

Any idea or experiences?

Thanks and best regards,

Helmut

11
Hello,

if I change the package name with the GUI in a ProCloudServer environment it takes around 2 seconds.

If I change the package name per JScript within EA in the same environment and repository it is done immidiately.

For me it looks as if the EA GUI makes a lot of SQL to change the Package name.

By the way: We have a lot of problems with Timeout EA-Access ProCloud Server.

Any idea or experiences?

Thanks and best regards,

Helmut

12
Hi Henrik,

I've found it:

Thanks and best regards,

Helmut

13
Hi Paolo,

EA only supports .NET Framework.

I asked SPARX if EA supports .NET 6 and got the below answer.

In my understanding: .NET 6 supports COM
EA doesn't support .NET 6

Best regards,

Helmut


=====================
Hello,

does EA supports Addins with NET 6.0? I tried it, registered it but it doesn't run. With NET Framework it runs smoothly. I checked the registration and it looks good.

The Screenshots shows the registry and the files involved.

I use VS2022, C# and WIX to deploy it. Explicitly registering the AddIn doesn't change the behaviour.

Any idea?

Thanks and best regards,

Helmut
Answer of SPARX Support
Hello Helmut,

Thank you for your enquiry. Our developers have provided the following feedback, please see:

If you're talking about .Net core. No. It needs to be the full .Net Framework.

Hope that helps. If you have further questions please let us know.


Best regards,

14
Automation Interface, Add-Ins and Tools / Timeout Pro Cloud Server
« on: June 23, 2022, 09:51:17 pm »
Hello,

If I use a query with the Search Window I get an EA TIMEOUT error after around 30 seconds.

If I use the C#/VB API I get after around 30 seconds an empty result. No indication of an error except the empty result occurs.

Can and how can I modify the TIMEOUT time?

Thanks and best regards,

Helmut

15
Hi,

any news?

I get a similare error. But after EA_OnPreNewElement().

Best regards,

Helmut

Pages: [1] 2 3 ... 65