5 months of experience of running "RADIX" compiled in X# on customer sites

This forum is meant for questions and discussions about the X# language and tools
Post Reply
User avatar
ArneOrtlinghaus
Posts: 412
Joined: Tue Nov 10, 2015 7:48 am
Location: Italy

5 months of experience of running "RADIX" compiled in X# on customer sites

Post by ArneOrtlinghaus »

Just again a feedback of our migration to the Dotnet world:
Radix Dotnet works very well on some thousand working places.

The performance is similar to the Win32-Version.

Most of the errors happening are logical programming errors that would have happened also in Win32.
These errors are understandable and reproducible.

We have some more errors together with the old Crystal Reports 9 Runtime, also complete vanishing of the program without any messages. Currently we want to try to integrate the latest Crystal Reports Runtime, which is available only for Dotnet (or Java, but not as C-Dll-Interface).

Programming in X# works well in total. We have already substituted some old functions by Dotnet framework functions. Of course this is not "gratis", but in some cases it is worth to do it. Also we begin to implement new X# features as interfaces and generic lists for example.

RADIX needs the .NET Framework 4.7.2. This was an internal decision. Quite a lot of computers had to be updated with the new Dotnet framework. But probably it helped to have a good and stable platform ready for the program. Some customers had to say Good bye to their last Windows XP and Windows Server 2003 installations.

Arne
User avatar
wriedmann
Posts: 3755
Joined: Mon Nov 02, 2015 5:07 pm
Location: Italy

5 months of experience of running "RADIX" compiled in X# on customer sites

Post by wriedmann »

Hi Arne,
great, and thank you very much for letting us know!
Wolfgang
P.S. Windows XP, really? XP machines are so slow not that no serious company should they use anymore
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
User avatar
ArneOrtlinghaus
Posts: 412
Joined: Tue Nov 10, 2015 7:48 am
Location: Italy

5 months of experience of running "RADIX" compiled in X# on customer sites

Post by ArneOrtlinghaus »

> Windows XP, really? XP machines are so slow ...
The computers did what they had to do. Some server had been even virtualized on a new hardware and had really good performance. So it was more a question of security and functionality.

Of course these customers had economical reasons, even understandable . But it was good for us that the customers had to update their installations because of clear technical reasons without crying and complaining too much. Often for those customers support is difficult and time consuming.

Arne
User avatar
robert
Posts: 4520
Joined: Fri Aug 21, 2015 10:57 am
Location: Netherlands

5 months of experience of running "RADIX" compiled in X# on customer sites

Post by robert »

Arne,
Thanks for sharing this.
Do you have any idea why the program completely vanishes in combination with Crystal Reports ?
It may be because of an error in native code.
I recently discovered that when you run a Vulcan app and install all possible exception handlers,
then still an exception in native code (for example in the CDX driver) will not be send to the managed error handlers.
In those cases the (Application) Event Log did have an entry for the crash with the callstack.

Robert
XSharp Development Team
The Netherlands
robert@xsharp.eu
User avatar
ArneOrtlinghaus
Posts: 412
Joined: Tue Nov 10, 2015 7:48 am
Location: Italy

5 months of experience of running "RADIX" compiled in X# on customer sites

Post by ArneOrtlinghaus »

> Do you have any idea why the program completely vanishes in combination with Crystal Reports ?
Directly I have no ideas. But the Crystal Reports exceptions we get sporadically are very hard. Even the Win32 program often crashed, although it succeeded more often to give a last error dialog to the user and write a last log entry before leaving.

What makes it difficult to find a reason:
- Radix calls the Crystal Reports Runtime to start output.
- In the report user functions make calls to Radix to get data in the report.
- When the Crystal Reports Runtime gets the data, the state of the executable including the Crystal Reports Dlls in the memory may not be the same as before
- The Crystal Reports Runtime 9 itself has memory leaks and consumes memory with every call.

In Win32 we accessed the Radix-program directly via C-DLL-Library calls. In Dotnet we use Windows WINAP-Sendmessage-Commands and hidden message loops to interact with the program.

So we have a nice complex situation to enhance.

Is there someone who wants to make estimations how many Crystal Report files exist for our program? Someone wanna make a guess? 100, 500, 1000, 10000, more than 10000?


(The correct answer is: The last choice is true, more than 16000 report files do exist :unsure: :ohmy: :huh: )


Arne
User avatar
ArneOrtlinghaus
Posts: 412
Joined: Tue Nov 10, 2015 7:48 am
Location: Italy

5 months of experience of running "RADIX" compiled in X# on customer sites

Post by ArneOrtlinghaus »

Yes, if the program crashes without any messages, the Windows-Eventlog often contains some valid information. It makes sense to always look there if nothing else can be found.
(The eventlog viewer can be started via the command EVENTVWR, if it is not visible in the computer settings menu)
eventlog.png
eventlog.png (109.63 KiB) Viewed 514 times
User avatar
ArneOrtlinghaus
Posts: 412
Joined: Tue Nov 10, 2015 7:48 am
Location: Italy

5 months of experience of running "RADIX" compiled in X# on customer sites

Post by ArneOrtlinghaus »

What I want to add:
Together with the Move to X# we now add a certificate to the Exe program for delivering.

Antivirus programs are now much friendlier to our programs. Before some Antivirus programs treated our nice new dotnet programs often worse than the older VO programs. Because of directory/filename changes and file content changes and not because of the technology. They detected something new and wanted to show that they were awake :blush:

Arne
Post Reply