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?
Transferring large VO project to X#
Transferring large VO project to X#
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
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
chris(at)xsharp.eu
XSharp Development Team
chris(at)xsharp.eu
Transferring large VO project to X#
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
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 128 times
Transferring large VO project to X#
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.
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
chris(at)xsharp.eu
XSharp Development Team
chris(at)xsharp.eu
-
- Posts: 46
- Joined: Mon Sep 26, 2016 12:59 pm
- Location: Italy
Transferring large VO project to X#
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?
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?
Transferring large VO project to X#
Try this version of FAB tools attached.
- Attachments
-
- FabTools_Debug.zip
- (4.1 MiB) Downloaded 134 times
Transferring large VO project to X#
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.
Transferring large VO project to X#
Hello John,
Dick
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.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.
Dick
Transferring large VO project to X#
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
Cheers
Glen
Transferring large VO project to X#
Jonathan,
Thanks for the copy of RightSLE.
I already have "Undeclared Variables" unticked so maybe I will have few less problems.
Cheers
Glen
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