First steps in X#

This forum is meant for questions and discussions about the X# language and tools
Post Reply
Anonymous

First steps in X#

Post by Anonymous »

I take the first steps in X#,

For starting I want to convert sample program "Pizza" from VO2.8 to X #, with VO-xPorter.
After the port I have some problems:
The error RC1015: cannot open the include files:
C: Program Files (x86)Vulcan.NET 4.0IncludeVOWin32APILibrary.vh
This file is not available in VO2.8.
Do I need to install Vulcan.NET 4.0 first? Or is there another solution.

The following files are not found:
#include "C:Users ........ PizzaPizzaOrder Dialog.rc"
#include "C:Users ........ PizzaPizzaImages.rc"
#include "C:Users ........ PizzaPizzaSubmitDlg.rc"
The Panel designer commands 'Import from VO Window' does also not work.
How I get a VO-window in X# or is it manually work.

Many Thanks,
Johan Kwaspen
FFF
Posts: 1593
Joined: Fri Sep 25, 2015 4:52 pm
Location: Germany

First steps in X#

Post by FFF »

Johan,
just had a go. Using sample from vo2838, i get in Xide, using the viproj file, as in VS, using the sln, ONE error for "Eggplant.bmp not in 3.00 format" - indeed this file seems to be corrupt, i can't open it with any of my graphics progs (same later on with Salami.bmp). Renamed them, copied other bmp, now this error is gone.

Why the references to the VulcanVo.dlls are in/necessary, Chris will answer ;)

[Edit]Duh - RTFM, here it is explained... <blush>
[strike]@Chris, Compilation failed (3 errors)
error XS0426: The type name 'Exe' does not exist in the type 'PIZZA' 1,1 Start.prg Pizza
error XS0426: The type name 'Exe' does not exist in the type 'PIZZA' 2,1 Order Dialog.prg Pizza
error XS0426: The type name 'Exe' does not exist in the type 'PIZZA' 2,1 SubmitDlg.prg Pizza

leaves me puzzled...[/strike]
Regards
Karl
(on Win8.1/64, Xide32 2.20, X#2.20.0.3)
User avatar
robert
Posts: 4567
Joined: Fri Aug 21, 2015 10:57 am
Location: Netherlands

First steps in X#

Post by robert »

Johan,

The VO Window designer is included in the next (FOX) build.

I am not sure what you mean with
"The Panel designer commands 'Import from VO Window' does also not work."
Where do you see this option ?

W.r.t. the include file: did you use the Vulcan transporter to convert the Pizza app or our XPorter. Our XPorter does not include code lines like:

Code: Select all

#include "C:Program Files (x86)Vulcan.NET 4.0IncludeVOWin32APILibrary.vh"
as far as I know.


Robert
XSharp Development Team
The Netherlands
robert@xsharp.eu
User avatar
Chris
Posts: 4986
Joined: Thu Oct 08, 2015 7:48 am
Location: Greece

First steps in X#

Post by Chris »

Hi Karl,

Those errors happen because there's a class named "Pizza" and the name of the produces assembly is "Pizza", too. Currently the compiler gets confused by that, the reason is that X# is based in the C# compiler backend, and C# does not allow this scenario (and many others). In the next X# build, X# now gives a much better error message, describing the problem and suggesting you to change the assembly name (that is until this limitation will be completely removed in a future build). So you need to go to the app properties and change the assembly name to something like PizzaNet. After that, the sample compiles and runs with x# with zero code changes :-)

Chris
Chris Pyrgas

XSharp Development Team
chris(at)xsharp.eu
User avatar
Chris
Posts: 4986
Joined: Thu Oct 08, 2015 7:48 am
Location: Greece

First steps in X#

Post by Chris »

Hi Johan,

I think you are using an old version of XIDE. Please install the one that comes with the latest X# release, it's version 1.10.

Then export again the app and start fresh, normally the only thing that you will need to change is to go to the app properties and change the "Assembly name" to something like PizzaNet, then you should be able to compile and run it.

About Vulcan.NET, no it does not need to be installed, only thing you need to have is the vulcan runtime dlls, any version should do.

About the command 'Import from VO Window' that you mentioned, this is a command of the winforms form designer, it is an option to convert VO-style windows to (.Net style) winforms windows. You can ignore winforms windows in your app for now, what you'd normally use is a VO-style window, with the menu command Tools/VOWindow Editor. But please not use that yet either, it needs some adjustments to work properly "the X# way" of using DEFINEs etc. I'll try to make those changes soon, including adding support for editing your exported windows, but for now please ignore editing windows, just concentrate on being able to port and compile the VO code in X#. Window editing will follow later.

Chris
Chris Pyrgas

XSharp Development Team
chris(at)xsharp.eu
JKW

First steps in X#

Post by JKW »

Hello Chris,

I have install the latest X# and the runtime dlls, port the ‘Pizza-example’,
change the assembly name and..... yes it runs fine!

Now can I experimental with my own application’s.

Robert, Karl and Kris thanks for quick and professional answers to questions.
This makes X# to a strong language.

Thanks !

Johan Kwaspen
Belgium
User avatar
Chris
Posts: 4986
Joined: Thu Oct 08, 2015 7:48 am
Location: Greece

First steps in X#

Post by Chris »

Hi Johan,

Thanks a lot for your nice words, but a warning: The pizza sample is an app that indeed simply compiles and runs in X# with almost no changes at all, but this is not always the case. Before you start porting your own apps, I suggest to have a go with a more samples, that do require some work to run correctly in X#, so you get more used to the process. At a minimum, please look at the rest of the samples here:

https://www.xsharp.eu/help/migratingappsfromvotox.html

(well that is if you haven't done this already!)

Chris
Chris Pyrgas

XSharp Development Team
chris(at)xsharp.eu
JKW

First steps in X#

Post by JKW »

Hello Chris,

I'm sure I'll do that,
I'll go ahead with the examples and will so come to my applications.

Thanks for your help !

Johan Kwaspen Belgium
Post Reply