xsharp.eu • 5 months of experience of running "RADIX" compiled in X# on customer sites
Page 1 of 1

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

Posted: Thu Oct 07, 2021 8:36 am
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

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

Posted: Thu Oct 07, 2021 8:46 am
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

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

Posted: Thu Oct 07, 2021 9:11 am
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

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

Posted: Thu Oct 07, 2021 9:21 am
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

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

Posted: Thu Oct 07, 2021 9:46 am
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

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

Posted: Thu Oct 07, 2021 9:51 am
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 522 times

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

Posted: Thu Oct 14, 2021 9:09 am
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