Hi Chris
thanks a lot for your explanations and your help.
I just finished the first Version of the PDF. I would be glad if you guys could have a look at it and tell me if I wrote some rubish
Have a nice Weekend
Markus
Porting VO Code
-
- Posts: 114
- Joined: Mon May 02, 2016 9:10 am
- Location: Schweiz
Porting VO Code
Hi Markus,
That's great!!! I didn't expect you would write this so quickly...
It is very nice because it shows that even though the process to port an app to X# is not a 10 minute job, at the same time with enough effort and after gaining some experience on it, it starts to become much easier and the end results really works. I think we probably need to create a section in the website for showing apps that have been ported to X# and for holding documents like that.
Just a small correction, in VO it is actually legal to use the syntax i = 1, when the compiler option "Old Style Assignments" is enabled. We just do not support this in X#, vulcan did not support it either.
Chris
That's great!!! I didn't expect you would write this so quickly...
It is very nice because it shows that even though the process to port an app to X# is not a 10 minute job, at the same time with enough effort and after gaining some experience on it, it starts to become much easier and the end results really works. I think we probably need to create a section in the website for showing apps that have been ported to X# and for holding documents like that.
Just a small correction, in VO it is actually legal to use the syntax i = 1, when the compiler option "Old Style Assignments" is enabled. We just do not support this in X#, vulcan did not support it either.
Chris
Chris Pyrgas
XSharp Development Team
chris(at)xsharp.eu
XSharp Development Team
chris(at)xsharp.eu
Porting VO Code
Hi Markus,
Great to see that you had finished it!
Unfortunately in my wLib2 migration I had much more and issues, some of them also harder to explain. So it will take a week until I have finished my document.
But after seeing yours, I have decided to change the source code representation: yours is much better.
Wolfgang
Great to see that you had finished it!
Unfortunately in my wLib2 migration I had much more and issues, some of them also harder to explain. So it will take a week until I have finished my document.
But after seeing yours, I have decided to change the source code representation: yours is much better.
Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Porting VO Code
Markus,
* are you interested in correction of typos, or is your plan to do final lectorate?
* i would refrain from repetitions, e.g. the "Assign must have parameter...", showing ONE sample is enough
* as the code parts are colored, you might change the color of corrected parts to make them more obvious
* the assign error in the registry access: you show the reason for the code - adding the parameter removes the error, but kills the idea
BTW, great work!
@Chris, some wishes for xporter:
* if one copies a path into the sourcefile sle and then hits the [...] the dialog starts with current dir, i.e. ignores the path input, which is a pita...
* some option to "generally" set the path for Catoxxx files would be nice
* "sometimes" the generated proj files contain images like icons, sometimes not, didn't find a rule, but might need a look
* for folks like Wolfgang, who plan to sync Vo and X# side for longer time, it would be great, if xporter could be called e.g. from Xide, _remembering settings_, so the sync could be a one click experience
Karl
* are you interested in correction of typos, or is your plan to do final lectorate?
* i would refrain from repetitions, e.g. the "Assign must have parameter...", showing ONE sample is enough
* as the code parts are colored, you might change the color of corrected parts to make them more obvious
* the assign error in the registry access: you show the reason for the code - adding the parameter removes the error, but kills the idea
BTW, great work!
@Chris, some wishes for xporter:
* if one copies a path into the sourcefile sle and then hits the [...] the dialog starts with current dir, i.e. ignores the path input, which is a pita...
* some option to "generally" set the path for Catoxxx files would be nice
* "sometimes" the generated proj files contain images like icons, sometimes not, didn't find a rule, but might need a look
* for folks like Wolfgang, who plan to sync Vo and X# side for longer time, it would be great, if xporter could be called e.g. from Xide, _remembering settings_, so the sync could be a one click experience
Karl
Regards
Karl
(on Win8.1/64, Xide32 2.20, X#2.20.0.3)
Karl
(on Win8.1/64, Xide32 2.20, X#2.20.0.3)
-
- Posts: 114
- Joined: Mon May 02, 2016 9:10 am
- Location: Schweiz
Porting VO Code
Hi Karl
yes of Course, it would be very helpful.
Markus
yes of Course, it would be very helpful.
Markus
-
- Posts: 114
- Joined: Mon May 02, 2016 9:10 am
- Location: Schweiz
Porting VO Code
Hi Chris
I was surprised too, when I finished the last page ...
Markus
I was surprised too, when I finished the last page ...
Markus
-
- Posts: 114
- Joined: Mon May 02, 2016 9:10 am
- Location: Schweiz
Porting VO Code
Hi Chris
just forgot this: a separate section for These ported examples would be very helpful.
An other Thing would be a section for already ported libraries which we all uf us used for decades and in my opinion it dos not make sense that everyone does the same conversions. There might only be the Copyright stuff with the paied libraries.
Markus
just forgot this: a separate section for These ported examples would be very helpful.
An other Thing would be a section for already ported libraries which we all uf us used for decades and in my opinion it dos not make sense that everyone does the same conversions. There might only be the Copyright stuff with the paied libraries.
Markus
Porting VO Code
Good idea! @Robert: couldn't we add our Vo/VN serial# to our accounts and control access to "special" download area by this? Maybe bound to Fox, possibly motivates the lurkers to subscribe <vbg>...Markus Lorenzi wrote:There might only be the Copyright stuff with the paied libraries.
Karl
Regards
Karl
(on Win8.1/64, Xide32 2.20, X#2.20.0.3)
Karl
(on Win8.1/64, Xide32 2.20, X#2.20.0.3)
Porting VO Code
Markus,
Thanks for the excellent document.
A few suggestions:
I am also thinking about posting videos in which we show how apps are being converted and the changes that had to be made. The video files would be shared through Youtube with links on the website. What do you think of that?
We will also add a section for upload an download of converted libraries such as the FAB tools, RightSLE and others. Sharing converted code that has a copyright is more complicated. We are thinking about either uploading "patch" instructions or even patch files.
The problem of course is that automated patch files will only work for code of a specific version. So when you already made some changes than the patch will fail.
Robert
Thanks for the excellent document.
A few suggestions:
- The FONT property was renamed because there is also a Font method. Dotnet does not allow a property and method with the same name. I think it is worth mentioning this because this might happen in the users code as well
- The error message about the DWORD(_CAST, LVSCW_AUTOSIZE) indicates that there is a conversion problem converting from DWORD to SHORT. I would change the code to cast to SHORT, and not to LONG, but in this case (the values are -1 and -2) there is no cast or conversion needed at all. So ListView_SetColumnWidth(...., LVSW_AUTOSIZE) should work as well and is much cleaner and easier to understand. In general in cases like this I would recommend to remove the CAST completely and only add a new one when absolutely necessary. The _CAST operator tells the compiler "I am smarter than you and I know what I am doing, so please treat the following value differently than you would normally do". In many cases people are not THAT smart.
- In your code there are GUI classes that you are subclassing because you wanted to add a method. In your small app it is not a problem to rename the classes. That is not always the case. So when you are adding a new method to an existing class (so not overwriting an existing method) I would recommend using an Extension method. Only when you need to access PROTECTED instance variables then a subclass is needed.
I am also thinking about posting videos in which we show how apps are being converted and the changes that had to be made. The video files would be shared through Youtube with links on the website. What do you think of that?
We will also add a section for upload an download of converted libraries such as the FAB tools, RightSLE and others. Sharing converted code that has a copyright is more complicated. We are thinking about either uploading "patch" instructions or even patch files.
The problem of course is that automated patch files will only work for code of a specific version. So when you already made some changes than the patch will fail.
Robert
XSharp Development Team
The Netherlands
robert@xsharp.eu
The Netherlands
robert@xsharp.eu
Porting VO Code
Karl,
I really do not want to register VO and VN serial numbers.
But maybe you are right that we should limit the access to FOX subscribers. Let me think about this and discuss it with the guys.
Robert
I really do not want to register VO and VN serial numbers.
But maybe you are right that we should limit the access to FOX subscribers. Let me think about this and discuss it with the guys.
Robert
XSharp Development Team
The Netherlands
robert@xsharp.eu
The Netherlands
robert@xsharp.eu