- Created: 15 June 2019
We have just released XSharp Bandol RC2 for our Fox subscribers.
This build mainly has improvements in the Runtime. We have added the long awaited DBFCDX driver and also a new DBFVFP driver, which is like the DBFCDX driver but with added support for new Visual Foxpro field types such as Integer, DateTime, Double, Float and Currency.
We have also added some elements needed for the FoxPro support to the compiler, such as FoxPro compatible Date and DateTime literals and the THIS keyword and DOT as operator for instance methods and properties. So in the FoxPro dialect you can use THIS.Text which is the same as SELF:Text in the other dialects. Support for FoxPro class definitions and a header file to map the FoxPro commands to the already existing DBF related and settings related functions will be added later.
The next build will be the Bandol Final Release. We expect to work on some VS improvements (for example in the Windows Form Editor) and we will also complete the FoxPro support in the compiler and add a FoxPro compatible header file with UDCs for the various DBF related commands.
After that build we expect no major compiler changes for a while, and will focus on Runtime improvements for the various dialects, such as a SQL based workarea (for the FoxPro SQL.. functions) and a functions that wrap a DBF workarea in a Ado.Net DatTable or DataView so you can assign a DBF workarea as datasource for a standard .Net browse control.
- Created: 06 June 2019
Just a quick message about our progress in the RDD system and other areas of the product.
The DBFCDX RDD is now working, and we have also added a DBFVFP RDD that allows you to read and update Visual Foxpro DBF files. DBFVFP is not completely ready yet (for example AutoIncrement fields are not automatically updated) but complete enough to allow to read VFP tables. We support Binary and Nullable fields, and new datatypes such as Currency, DateTime, Double and more.
Further we made some changes to the compiler. We have started work on the FoxPro dialect and we now suppress including the Vulcan Header files if you are having a reference to SDKDEFINES.DLL or the relevant X# SDK files. This should make compile speed somewhat faster. Of course it is better to remove the #includes when you don't need them anymore.
We have also fixed some issues in the runtime, such as the macro compiler and some of the runtime functions.
We expect that we can publish a new build (for our subscribers only) by the end of next week.
We expect to release the complete runtime early July.
And don't forget the special "Spring" discount of 25% for new subscribers. Click here to order now.
- Created: 31 May 2019
The X# devteam has decided to sponsor the annual FoxPro event in Arizona (US) and will also present the current state of the X# development, including the FoxPro dialect of course. On behalf of the devteam Fabrice and Robert will be present.
We are looking forward to this opportunity to show our product to the FoxPro community.
We hope to see you all in October !
- Created: 27 May 2019
Microsoft has released several updates to VS 2019. The latest updates now properly support other languages on the New Project dialog:
So from now on we will support VS2019 for X#.
- Created: 25 May 2019
We had a first presentation of XSharp during the AtoutFox meeting in Lyon, France : May 23-24, 2019
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.
- Created: 12 May 2019
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.
- Created: 18 April 2019
The public version of XSharp Bandol RC 1 has also been released. Click here to download it (you have to login first):
- Created: 16 April 2019
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
to read a field from a workarea where the fieldname is in the expression. Of course you can also use
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:
- Created: 01 April 2019
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.
|XSharp 2.0 Release |
- RDD System
- VO Class libraries
|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.