Transferring large VO project to X#

Public support forum for peer to peer support with related to the Visual Objects and Vulcan.NET products
User avatar
GlenT
Posts: 33
Joined: Fri Sep 25, 2015 7:35 pm

Transferring large VO project to X#

Post by GlenT »

I am inspired by Chris's videos on migrating VO projects to X# and have tentatively dipped my toe in the X# world. At this stage, I am trying to prove that it can be done and done in a reasonable time frame ( < 6 months).

I admit to being .net novice and that I have much to learn. I've tried a few times but have always found something that needs to be done in VO and lost any knowledge that I gained.

So, I exported the application and imported the aefs into Xide. I think that will be easier than added the Visual Studio's learning curve to that of .net.

Apart from VO, I have used a number of external libraries over the years (the application is 20+ years old) such as:
SEmenuXP
ReportPro 2
RightSLE
PPP (a copy protection library) - already compiling
MDI Taskbar from James-Donald Carslaw
Funcky - already compiling
Fab Zip
Fab Tools
Fab Thread
Fab Paint
bBrowser
G2antt (from Excontrol) - an ocx
Flipper Graph - an ocx

So the question is, do I need X# versions of these libraries or do I just plough through them correcting errors as I find them?
User avatar
Chris
Posts: 4562
Joined: Thu Oct 08, 2015 7:48 am
Location: Greece

Transferring large VO project to X#

Post by Chris »

Hi Glen,

Very glad to hear that those sessions were helpful for that!

About 3rd party libraries, fortunately most of them have been ported already to X#. You can find them:

- bBrowser: https://www.bbrowser.net/index.php/en/
- Fab libraries: http://www.fabtoys.net/
- ReportPro2: https://www.xsharp.eu/store/shop/
- SEmenuXP and RightSLE: Those should not be very difficult to compile in X#, but I am pretty sure others have already done it, so no point reinventing the wheel. So can somebody step in please about that?
- OCX controls: If those have equivalent .Net libraries available, it's best to use those. If not, it's not a problem either, please read the complete topic "Migrating apps from VO to X#" to see what you need to do about them (among much other very helpful information).
- I am not familiar with the rest, need to try them and see if it's easy to port them to X#. Remember that compiling them is one step, but there's another one, making sure they work correctly at runtime, and doing that might require more work, if they are doing low lever tricks and stuff like that.

In any case, please do ask here about any issues you are getting or for suggestions on what to do with any aspect of the porting process. Here's also a list of tips Wolfgang has collected over the last few years: https://docs.xsharp.it/doku.php
Chris Pyrgas

XSharp Development Team test
chris(at)xsharp.eu
jonhn
Posts: 86
Joined: Thu Feb 01, 2018 8:04 am

Transferring large VO project to X#

Post by jonhn »

Hi Glen,
Welcome! I am also working slowly on a 20+ year old VO app to bring to .NET and you'll find a lot of extremely helpful and knowledgeable people here to help.

Attached you will find Willies' RightSLE for X#. (thank you Willie)

I have made a couple of false starts and for me a lot of the problem is errors and warnings in my VO program that the compiler ignored pretty much and tolerated in the final .exe.

My tip is to go into the VO compiler properties, and under Clipper compatibility untick the "Undeclared Variables" option and start fixing as many errors as possible.
The VO compiler is very forgiving with that option ticked, and since fixing most of the errors in the list my app has a lot less "undocumented features". The DBServer errors (I have a lot) can be ignored as the XIDE will take care of them in the conversion.
hopefully that helps - I'm nearly ready to try converting again.

Good luck,
Jonathan
Attachments
RightSLE_X#.rar
(3.78 MiB) Downloaded 43 times
User avatar
Chris
Posts: 4562
Joined: Thu Oct 08, 2015 7:48 am
Location: Greece

Transferring large VO project to X#

Post by Chris »

Thanks for stepping in Jonathan!

Just a comment though, even though I agree it is a very good idea to untick "Undeclared Variables", this is not mandatory for porting to X# anymore. Since some builds ago, MEMVARs should be working in X# more or less the same way as in VO, so you should not need to change your code anymore if you do not want to.

As I said, I agree it's better to do it anyway and use normal vars instead of publics and privates so that the compiler generates better and type checked code, but if you do not want to do it, in order to avoid modifying too much existing code, you should be able to leave it as it is, too. If you are still getting problems with compiling existing code that uses memvars, then this is porbably a bug in X# or something we have overlooked.
Chris Pyrgas

XSharp Development Team test
chris(at)xsharp.eu
stecosta66
Posts: 44
Joined: Mon Sep 26, 2016 12:59 pm

Transferring large VO project to X#

Post by stecosta66 »

Chris,

FabTools is not complete. I've downloaded source from GitHub (only FabTools, not the other libs) with relative .xsproj file and this gives error when importing in VS2019.

I'm missing something?
jonhn
Posts: 86
Joined: Thu Feb 01, 2018 8:04 am

Transferring large VO project to X#

Post by jonhn »

Try this version of FAB tools attached.
Attachments
FabTools_Debug.zip
(4.1 MiB) Downloaded 44 times
jonhn
Posts: 86
Joined: Thu Feb 01, 2018 8:04 am

Transferring large VO project to X#

Post by jonhn »

Yes, you are quite right. I was, however, surprised by the dozens of relatively serious other errors the VO compiler let through to my .exe that X# will not. All kinds of warnings I had ignored for years, sorry to say, but they are all listed there.
ic2
Posts: 1798
Joined: Sun Feb 28, 2016 11:30 pm
Location: Holland

Transferring large VO project to X#

Post by ic2 »

Hello John,
jonhn wrote:I was, however, surprised by the dozens of relatively serious other errors the VO compiler let through to my .exe that X# will not. All kinds of warnings I had ignored for years, sorry to say, but they are all listed there.
I think that is one of the advantages of X#. IT can even be used to make your VO code better. I have done a couple of Transporter sessions and try to solve the errors in VO. That makes a full transitions (if ever...) to X# a lot less time consuming, but in the meantime the VO code is also better.

Dick
User avatar
GlenT
Posts: 33
Joined: Fri Sep 25, 2015 7:35 pm

Transferring large VO project to X#

Post by GlenT »

Thanks Chris. I'll have a look at the links for the 3rd party stuff. No doubt I'll have many questions over the next few months.

Cheers

Glen
User avatar
GlenT
Posts: 33
Joined: Fri Sep 25, 2015 7:35 pm

Transferring large VO project to X#

Post by GlenT »

Jonathan,

Thanks for the copy of RightSLE.

I already have "Undeclared Variables" unticked so maybe I will have few less problems.

Cheers

Glen
jonhn wrote:Hi Glen,
Welcome! I am also working slowly on a 20+ year old VO app to bring to .NET and you'll find a lot of extremely helpful and knowledgeable people here to help.

Attached you will find Willies' RightSLE for X#. (thank you Willie)

I have made a couple of false starts and for me a lot of the problem is errors and warnings in my VO program that the compiler ignored pretty much and tolerated in the final .exe.

My tip is to go into the VO compiler properties, and under Clipper compatibility untick the "Undeclared Variables" option and start fixing as many errors as possible.
The VO compiler is very forgiving with that option ticked, and since fixing most of the errors in the list my app has a lot less "undocumented features". The DBServer errors (I have a lot) can be ignored as the XIDE will take care of them in the conversion.
hopefully that helps - I'm nearly ready to try converting again.

Good luck,
Jonathan
Post Reply