For a few days I'm now using my FTPExplorer application in its X# version.
This application is an evolution of the VO FTPExplorer sample with several additions like resizeable window.
I have moved this application to Vulcan.NET a few years ago, and now it is a X# application using the Vulcan.NET runtime libraries.
To show you how such an application feels you will find different files in the attached zip archive:
- the X# compiled exe
- a VIAEF file with the complete sources in XIDE format - simply startup XIDE and import this file in anyone of your projects.
- a Vulcan compiled exe with the needed runtime DLLs
But be warned: this code is not well written code you should take as example - take it as example how old code with errors and bad style can continue to run in a X# version.
And this application originally was built in a multilingual version, but the code you find attached contains only the german language.
Changed February, 6 2017 17:21: fixed a runtime error when resizing
Sample of a migrated VO application
Sample of a migrated VO application
- Attachments
-
- FTP_Explorer_Xsharp.zip
- (1.35 MiB) Downloaded 71 times
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
Sample of a migrated VO application
Wolfgang,
got the files. ...Vulcan.exe works, but the X-exe crashes when i try to change the shell size by mouse. Imported the aef, Xide complains about missing AFTPICO Icon "aFtpIco.ico". Took any icon file, renamed. Compiled then in XIDE, but result of resize is the same...
BTW, 303 warnings re "double define" is not so nice - @Chris: any chance to let the error pane provide a means to actually SEE where the second define hides? A Ctrl-Shift-F shows only the define in Win32Api.
got the files. ...Vulcan.exe works, but the X-exe crashes when i try to change the shell size by mouse. Imported the aef, Xide complains about missing AFTPICO Icon "aFtpIco.ico". Took any icon file, renamed. Compiled then in XIDE, but result of resize is the same...
BTW, 303 warnings re "double define" is not so nice - @Chris: any chance to let the error pane provide a means to actually SEE where the second define hides? A Ctrl-Shift-F shows only the define in Win32Api.
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)
Sample of a migrated VO application
Hi Karl,
I will look into the resize issue.
Wolfgang
I will look into the resize issue.
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
Sample of a migrated VO application
Hi Karl,
That's strange, I just run the x# version and it's looking good. Try running it through the debugger, do you get an error message?
About the double defines, this is one of the main reasons why we want to start fresh in x# with the SDK from VO and get rid of such problems due to the way the SDK was ported to vulcan. It's the duplicate defines in VOGUIClasses.vh and VOWin32APILibrary.vh that cause the warnings, vulcan reports those warnings as well. Of course you can disable them by using /nowarn:9012,9013
In order to see those defines with the find dialog, you need to make the .vh files part of the project/app, with Add files.
Chris
That's strange, I just run the x# version and it's looking good. Try running it through the debugger, do you get an error message?
About the double defines, this is one of the main reasons why we want to start fresh in x# with the SDK from VO and get rid of such problems due to the way the SDK was ported to vulcan. It's the duplicate defines in VOGUIClasses.vh and VOWin32APILibrary.vh that cause the warnings, vulcan reports those warnings as well. Of course you can disable them by using /nowarn:9012,9013
In order to see those defines with the find dialog, you need to make the .vh files part of the project/app, with Add files.
Chris
Chris Pyrgas
XSharp Development Team
chris(at)xsharp.eu
XSharp Development Team
chris(at)xsharp.eu
Sample of a migrated VO application
You say, you use the FTP_Explorer.exe as in Wolfgang's zip, start it and resize the form without crash? Strange. For me, "bang"...
Just tried anew from XIDE, same result:
Problemereignisname: CLR20r3
Problemsignatur 01: FTP_Explorer_X_KF.exe
Problemsignatur 02: 1.3.15.0
Problemsignatur 03: 58989cb7
Problemsignatur 04: VulcanRTFuncs
Problemsignatur 05: 4.0.401.0
Problemsignatur 06: 55db3e1f
Problemsignatur 07: 735
Problemsignatur 08: 2f
Problemsignatur 09: Vulcan.Error
Betriebsystemversion: 6.3.9600.2.0.0.256.103
Gebietsschema-ID: 1031
Zusatzinformation 1: 2e9c
Zusatzinformation 2: 2e9c4ccdba018f8bd7c5d1f7f329027a
Zusatzinformation 3: 7e68
Zusatzinformation 4: 7e68d5a5c9af26372a92f667918896e5
Karl
Just tried anew from XIDE, same result:
Problemereignisname: CLR20r3
Problemsignatur 01: FTP_Explorer_X_KF.exe
Problemsignatur 02: 1.3.15.0
Problemsignatur 03: 58989cb7
Problemsignatur 04: VulcanRTFuncs
Problemsignatur 05: 4.0.401.0
Problemsignatur 06: 55db3e1f
Problemsignatur 07: 735
Problemsignatur 08: 2f
Problemsignatur 09: Vulcan.Error
Betriebsystemversion: 6.3.9600.2.0.0.256.103
Gebietsschema-ID: 1031
Zusatzinformation 1: 2e9c
Zusatzinformation 2: 2e9c4ccdba018f8bd7c5d1f7f329027a
Zusatzinformation 3: 7e68
Zusatzinformation 4: 7e68d5a5c9af26372a92f667918896e5
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)
Sample of a migrated VO application
Hi Karl,
on resizing it crashes on my system too.... But your error message strangely references .NET 2 (CLR20r3) and not Framework 4.
But I have managed to fix the error. This was the original code:
Change it to
and it will work.
Maybe such a cast should be result in a compiler error (try to cast an usual).
Wolfgang
on resizing it crashes on my system too.... But your error message strangely references .NET 2 (CLR20r3) and not Framework 4.
But I have managed to fix the error. This was the original code:
Code: Select all
method Dispatch( oEV )
local wParam as dword
local sRect as _winRect
if oEv:Message == WM_SIZING .and. _oMinimSize != null_object
sRect := ptr( _cast, oEv:lParam )
Code: Select all
method Dispatch( oEV )
local wParam as dword
local sRect as _winRect
local oEvent as Event
if oEv:Message == WM_SIZING .and. _oMinimSize != null_object
oEvent := oEv
sRect := ptr( _cast, oEvent:lParam )
Maybe such a cast should be result in a compiler error (try to cast an usual).
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
Sample of a migrated VO application
Hi Karl, hi Chris,
I have now fixed this and a similar issue in another Dispatch() method and uploaded a new archive.
Wolfgang
I have now fixed this and a similar issue in another Dispatch() method and uploaded a new archive.
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
Sample of a migrated VO application
Wolfgang,
yeah, saw the CLR issue, too. But Xide says, the aef to be V4.0, as are the referenced VN-libs.
Re dispatch: which one, please? I knew i preferered for a reason VO syntax
Found it, replaced and now no crash anymore...
yeah, saw the CLR issue, too. But Xide says, the aef to be V4.0, as are the referenced VN-libs.
Re dispatch: which one, please? I knew i preferered for a reason VO syntax
Found it, replaced and now no crash anymore...
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)
Sample of a migrated VO application
Still no icon file ;(
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)
Sample of a migrated VO application
Hi Wolfgang % Karl,
This problem with casting the lparam to a VOSTRUCT was found and fixed in the compiler just a few days ago, so the code works correctly without changes now. If you guys would like to use the newer compiler build, please let me know and I'll send it to you.
This is (in part) why I was not seeing the error before, but it seems to be also an OS thing, as neither running the original .exe was causing a crash here!
Chris
This problem with casting the lparam to a VOSTRUCT was found and fixed in the compiler just a few days ago, so the code works correctly without changes now. If you guys would like to use the newer compiler build, please let me know and I'll send it to you.
This is (in part) why I was not seeing the error before, but it seems to be also an OS thing, as neither running the original .exe was causing a crash here!
Chris
Chris Pyrgas
XSharp Development Team
chris(at)xsharp.eu
XSharp Development Team
chris(at)xsharp.eu