We had a first presentation of XSharp during the AtoutFox meeting in Lyon, France : May 23-24, 2019

http://www.atoutfox.org/

Current state of art, with different xBase "dialects" : Core, Visual Objects, Xbase++, VFP, ...

Many thanks to all members for their friendly welcome and all the help they offered in order have strong support of Visual FoxPro in XSharp.

rz fabrice atoutfox2019 1 rz fabrice atoutfox2019 2


It's time for a quick update about what we have been doing. Here are some things that we have worked on since the last build:

  • We have started work on the FoxPro dialect and have also added a WITH block for all dialects
  • We have also added support for END keywords for entities that do not allow this yet, such as END PROCEDURE, END METHOD, END ACCESS etc. These keywords are optional
  • We made several changes to improve the VS integration, such as better type lookup for functions declared in namespaces, better support for the var keyword, improbed support for Xbase++ dialect etc. X# works fine now with VS 2019, except that our project templates are still poorly visible on the New Project dialect. Microsoft has now promised to change that in one of the upcoming updates.
  • We have made several changes to the runtime. For example dynamic class creation for the Xbase++ dialect (ClassCreate() etc) and for the Xbase++ DataObject class. We have also added the functions that are part of the ASXML Library from Xbase++ (XMLDocOpen() etc). We have also improved several existing functions, such as Round(), ExecName() and others.
  • We have made several changes to the macro compiler, to solve some of the problems that were reported. We have also added support for macro based aliased expressions and ivar access ( (alias)->&varname,   expression:&ivarname etc)
  • And last but not least we have worked on the RDD system. Several small issues were detected and fixed in the Advantage RDD and the work on the DBFCDX driver is approaching the end. We expect to have a fully working DBFCDX rdd any day now.

More news will follow soon.

 


We are very proud that we can announce that we have released X# Bandol RC 1 to our FOX subscribers.
A public build of this product will follow shortly.
This build has completed the VO and Vulcan compatible runtime.

Unfortunately we found some last minute issues in the DBFCDX driver which could corrupt your indexes. We have therefore decided NOT to include the DBFCDX driver. An update for this will follow in a few weeks.
Some of the highlights of this build:

new IS Pattern expressions:

IF <variable> IS <type> VAR <newvariable>

This automatically creates a new variable <newvariable> that is only visible in the scope of the IF expression.

We have also added extended support for the & operator in combination with the Alias (->) operator and made a change to the preprocessor to make it more compatible with Xbase++. You can now use

 (nArea)->&(Expression)

 to read a field from a workarea where the fieldname is in the expression. Of course you can also use

 (nArea)->(FieldGet(FieldPos(Expression)))

 which is almost what gets generated by the compiler.

There are many larger and smaller changes in the runtime to make it more compatible with VO and Vulcan.
There are also some changes in the Visual Studio integration, such as:

  • inheriting windows forms from other forms in the same project
  • fixed a 'hang' when opening projects inside VS 2019
  • some improvements in the auto indenting
  • new templates for VO and XPP class libraries

FOX Subscribers can download this new build here:

{rsfiles path="fox/Compiler/XSharpSetup2RC1Fox.zip"}


In this article we would like to share with you our development roadmap for the coming months.
We are now reaching  the final stage of the development of the runtime for VO & Vulcan and we are looking at new things that you an expect the coming year.
In the coming weeks we will release the first Release Candidate for the XSharp runtime. After that we expect to need a few weeks to finish the final remaining issues.
The schedule show you what we have planned to do after that.

The schedule below of course is an indication and as always: no guarantees.

Component Start Completed
XSharp 2.0 Release
- Runtime
- RDD System
- VO Class libraries
  May 2019
ReportPro 2 & 3 for XSharp 2.0 April 2019 May 2019
Xbase++ runtime functions   July 2019
(Visual) FoxPro dialect, including runtime functions
and support for VFP DBC and VFP datatypes in the DBF format
and a VFP - X# +Visual Studio converter
April 2019 August 2019
VO GUI and SQL Classes with Unicode and AnyCPU support (on top of Windows Forms and Ado.Net) June 2019 August 2019
VFP UI Classes August 2019 October 2019

As you can see in the schedule above: we have not planned to do Xbase++ UI classes yet. We need a business case (someone with a business app that uses the Xbase++ UI classes) or someone that can help us to define what exactly is needed to do this.

If you are missing something in this schedule, or if you want to help to implement / add something, please let us know. We welcome your input.