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"}

 

 


Today we have released an installer for XSharp Cahors 2.9 which contains some fixes for problems reported with X# 2.8, and some new features, especially in the FoxPro compatibility area.

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

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

The public installer for version 2.9a is now also available:

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