This week, during Virtual Fox Fest, we received a question from someone that wants to help to add functions to the XSharp runtime (in this case functions for the FoxPro part of the Runtime).
The customer asked if we could give an overview of the XSharp Runtime source and if we could describe how contributions work.
We assume that this customer is not the only one that wants this, so we decided to spend some time on this in an online session.

We will discuss this in an online session on Thursday November 5, at 16:00 CET (UTC+1).

The meeting will start at 16:00 but we will open the session room at 15:30 so you have time to chat if you want before the session starts.

We have recorded the session and will upload it to our youtube channel shortly, so when you missed it you can still see it in our Youtube Channel "XSharp Academy"


We have received several requests for "Corporate sponsorships", and we have listened. We are now introducing the XSharp Corporate Sponsorship program.

You can find more information about this program on this page.

Please remember that this does in no way mean that non corporate sponsors will be treated as second rate customers. We only want to "formalize" the relation with larger customers.

We will keep on giving every customer the service that he/she expects, just like before.


We have just released the public installer for XSharp Cahors  2.6a
The complete readme with the description of the changes can be found here.
This is the same build as the subscribers build, with the exception that subscribers get a slightly faster compiler, a .Net core version of the compiler and debug versions of the runtime assemblies to aid in tracking errors (not that we have any <g>).

You can download the installer from here (you have to login first):

{rsfiles path="installers/XSharpSetup26a1Public.zip"}


Yesterday was Virtual Fox Fest (VFF) day 1. Over 140 people attended this online event.
The X# team had a virtual "booth" at this event and spoke with some of the attendees.

Robert and Fabrice have recorded 2 short videos for the event that can be seen in our youtube channel "XSharp Academy"

Robert also did a (prerecorded) session about Databinding in .Net for XBase developers.
If anybody is interested we can also do this one more time as "live session" so you have the chance to interact and ask questions etc.
All you have to do is ask !

VFF will continue next week (on Wednesday 21) and in 2 weeks (On Tuesday 27).
There is a session next Wednesday from Eric Selje about "X# from Scratch"
You can see the schedule over here. Many of the other sessions are of interest to non FoxPro developers too !

You can still register for the final 2 days for USD 49

 


Today we have released a new installer for XSharp Cahors 2.6a (aka 2.6.1), which contains several fixes for issues that our FOX subscribers have reported.

The what's new document describing all the changes can be found here:

{rsfiles path="general/Readme/whatsnew26a.rtf"}

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

Unless some important problem is found in the next couple days, also the public version of the 2.6a build will follow shortly.
Thank you to all of you for your continued support and invaluable help in further developing the XSharp product!

Update on Saturday October 3rd:
Today we have updated the installer, and added 2 fixes to the compiler (PCall in a file name with an embedded dot was not working, parameter by reference with the @ modifier inside a codeblock was not working) and a fix in the runtime (callstack for errors in late bound code was sometimes not showing the method where the error originated).
We advise everybody to redownload the installer and install again. The files in the new installer are all dated October 2, 2020.


To celebrate the release of XSharp 2.6 we have started a special "Autumn Promotion" for our Friends Of XSharp subscription.

For more information about this subscription click here.

You will now get a discount of 25% on the normal subscription price if you join the subscription.

This discount is valid until Dec 21, 2020.

Click here to order your X# subscription with this discount.


Today we have released XSharp Cahors 2.6.
This build contains several fixes for issues that were found and also some new features. We have also implemented several FoxPro commands that were high on the todo list, such as SCATTER, GATHER, COPY TO ARRAY and APPEND FROM ARRAY. The FoxPro compatibility list has also been updated to reflect this and also reflect the functions that we have added over the last months.

The what's new document describing all the changes can be found here:

{rsfiles path="general/Readme/whatsnew26.rtf"}

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

Please note that this new build has new assembly version numbers for all runtime DLLs. You will need to recompile all of your code and you will also need new versions of 3rd party components such as bBrowser, Xs2Ado and ReportPro. We have worked with the vendors of these components, so the good news is that most of these components are already available !

 


A short progress report about some of the things we have been working on.

We have made some changes to the compiler:

  • We have added support for the FoxPro binary type (0h1234abcd). This is compiled into an array of bytes in the Core dialect and an instance of the new Binary type in the other dialects. Of course we have also added this new Binary type to the runtime and to the support code for the USUAL type.
  • We have added support for CATCH filters (CATCH <identifier> AS <type> WHEN <someexpression>)
  • We have added support for pattern matching in SWITCH statements (CASE <identifier> AS <Type>) and we have also added the support for filters to SWITCH statements (WHEN <expression>).
  • As you can see both of the previous extensions use the new WHEN keyword. This keyword is positional and can still be used as variable name or function/method name on other positions in your code.
  • Currency literals ($12.34) are now stored as Currency values and no longer as System.Double values.
  • We have fixed several reported errors.

We have also made some changes to the runtime:

  • We have added a new Binary type (see compiler changes)
  • We have fixed several reported issues
  • We have added settings for SET SAFETY and SET COMPATIBLE to the runtime
  • We have fixed several issues in the RDD system, such as setting the EOF and BOF flags with Advantage tables that are the child in a relation and also the calculation of VFP index key values for fields of type "Integer".

VS Integration:

  • We have fixed several small issues in the intellisense parser, such as a problem with default expressions and the AS/IS modifiers that were not properly shown in QuickInfo tips.
  • We have fixed some problems when retrieving XML comments from external XML files
  • The layout of the QuickInfo tips has been improved
  • We have fixed a problem with type lookup for the Windows Forms Editor where types with the same name existed in more than one external assembly (within different namespaces).
  • We have fixed a few problems in the code generation for the VO compatible editors
  • We are preparing the VS project system for .Net Core, .Net 5  and for the support for Nuget package references with the <PackageReference> syntax in your XSPROJ files, so you will no longer need packages.config and you will no longer have copies of the files from the nuget packages in your solution folders.

We are preparing a new build (2.6) internally. Because of some changes to external prototypes of methods we will increase the Assembly version, which means that you will most likely also need new versions of 3rd party products such as bBrowser, ReportPro and Xs2Ado with this new version.