A short message to inform you about our progress and the upcoming 2.10 release.

The first 2.10 version (with VS2022 support) has been tested by a small group of customers.
They have reported a few issues and a second build that fixes the issues has been released to them today.
We hope to be able to release this build to the rest of the FOX subscribers next week (week 3)

A public version of X# 2.10 should then be released one week later (week 4).

We are also working on our development Roadmap for 2022. More news about that in a few weeks.
But it will be no surprise that the following items will be on the list (some of these were promised before):

  • VO GUI and SQL classes based on Windows Forms and Ado.Net (these are almost done)
  • Improved FoxPro compatibilty with a FoxPro converter
  • Support for .Net Core / .Net 5 and .Net 6
  • Some new language features from C# 10, such as GLOBAL USING and File Scoped Namespaces.
  • Our projects codenamed 'Delft' (short term FoxPro SQL support ) and 'Xanthi'
    (Long term hybrid SQL/Table based data access  support with a client server solution like ADS)
  • Continued work on bug fixes and language enhancement

Finally we are planning to do a session about the X# RDD system on Thursday Jan 27, 16:00 CET (GMT+1).

Stay tuned !


A short message close before the end of 2021.
We are finalizing a new build (X# 2.10). The installer is being tested in the team at this moment and will be made available to a selected group of testers next week.

Some of the highlights of this new build:

Compiler

  • We have added 2 new compiler options: /enforceoverride and /noinit 
  • Functions and procedures (including the Start function) now support the ASYNC modifier
  • The compiler detects if you are using String2Psz() to initialize something that is not a local variable and produces a compiler error. This does not work !
  • and more

Visual Studio integration

  • Support for VS 2022 (in 64 bits mode)
  • Support for Nuget Package References
  • We have added some "lightbulb" messages to the editor
  • Automatic insertion of XML comments when you type "///"
  • Improved formatting in the editor
  • Many fixes and small improvements

Runtime

  • Several changes to the DBFCDX and DBFNTX driver to make these faster in shared mode
  • Many bug fixes

The (preliminary) what's new document can be downloaded from the page below.

 We wish everybody the best for 2022 !


Coming Thursday (December 9th) we will have an online session in which we will try to explain what X# compiler does with your code. We will discuss several topics, such as

  • Strong Typed versus weakly typed functions / methods
  • Different calling conventions (Clipper - Strict - Pascal - Thiscall)
  • Function / method overloading
  • Values types versus reference types
  • Parameters by value and parameters by reference
  • Early bound code versus late bound code
  • Virtual instance methods versus non virtual methods

The session will mostly use code from the XSharp Runtime as example and will look at that code from the Xbase side but will also look at the produced IL code using the ILSpy decompiler. We will also discuss 'ease of use' versus 'best performance'.

Update We have re-recorded the session. Is is now available in our youtube channel

The example can be downloaded here:

{rsfiles path="Presentations/WhatDoesTheCompilerDo.zip"}


We have uploaded a first version of our support for Visual Studio 2022. This also includes support for packagereferences inside the project file.

Known issue: the intellisense engine does not yet include the assemblies that are listed inside a nuget package.

For example: if you have a Console application and remove all references and replace that with a Nuget Package reference for System.Runtime then that project will compile and run, but the editor will not be able to show tooltips, code completion etc for types like System.String, System.Console etc.

You can find this installer here:

{rsfiles path="general/XSharpProject2022.vsix"}