Coming Thursday May 21 at 16:00 Amsterdam time we'll have another online presentation.
This weeks presenter is Fabrice Foray, our devteam member from France.

The topic for this week will be an intermediate level topic about Lambda Expressions, Codeblocks and LINQ

Some of the topics we'll look at:

  • What is a Lambda Expression
  • How does this relate to Delegates
  • How does this relate to Anonymous methods
  • What is the difference between a Lambda Expression and a Codeblock
  • Where do you use a Lambda Expression
  • What is LINQ
  • What is an anonymous type
  • Which extension methods from the LINQ namespace can be useful even without LINQ

The video of the recorded session is available in the XSharp Youtube channel

The examples from this and earlier online sessions can be found in the download session on this website

Coming Thursday May 14 at 16:00 Amsterdam time we'll have another online presentation.
This week it will be a somewhat more advanced topic: the X# RDD system, but we'll do our best to explain things as good as possible, so it will still be interesting to everybody.

Some of the topics we'll look at

  • RDD Related commands and how they are mapped to Functions
  • How the Db..() and VoDb..() functions are mapped to the RDD system
  • The various interfaces and types that are part of the RDD System
  • How you can register an event handler that will be notified of record movements, updates etc for ALL workareas. This can be used for logging purposes
  • How you can "wrap" a single RDD object for a single workarea and intercept or override single methods. You can use this for logging too, but you can also use this to add or change behavior of existing RDDs
  • How you can create your own custom RDD (possibly inheriting from one of our RDDs) and how you can tell X# use that RDD.

We expect that the duration of his session will be between 45 minutes and 1 hour. That means that we can't discuss every little detail (and there are actually a lot of important details in this area) .
But since the sourcecode of our RDD system is on Github we think you will be able to find your way in our code and discover the rest yourself.

Update, Friday May 15

The event yesterday was a success, but unfortunately most of the recording was lost because Robert had to reset his computer due to technical problems.
We have rescheduled the event on Monday May 18, at 09:00 Amsterdam time (GMT +2). We will start the session at the point where we were interrupted on Thursday : after the explanation about how commands are mapped to function calls using UDCs. If you want to join (again): we will use the same Zoom session ID for this event.
Hopefully this is a better time for our friends in Asia and Down Under, so they will have the chance to join "live" as well


The recorded video from both sessions can be seen in our Youtube channel

Today we have released a new installer for XSharp Bandol 2.4a, which contains several fixes for issues that our FOX subscribers have reported in in the compiler, runtime and VS integration, related to all X# dialects. Additionally, it includes further developments on the Visual FoxPro compatibility front, with much more to follow in the next builds.

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

Popular 2.4.1 264.22 KB

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


We have just released the public installer for XSharp Bandol 2.4a
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/XSharpSetup24aPublic.zip"}


The online event for Thursday May 7 , at 16:00 Amsterdam time, will be about new features in the X# language/compiler.

The recording of the session can be found in our YouTube channel.

Some of the topics that will be covered are

  • IS Var (and compare that with IsInstanceOf())
  • special Out declarations: Out VAR Id, OUT Id as Type, OUT NULL
  • New notation for literal numbers with thousands separators
  • Show #pragma warnings and #pragma optionsto override commandline arguments in code
  • Passing variables by reference to untyped functions
  • Show how we now don't longer need to use version resources but how the version info is generated from assembly attributes (and how you can switch back to the old behavior)
  • FOREACH statement (including enumerating arrays)
  • VAR keyword
  • Anonymous types

Next week (May 14) Robert will give an "advanced" session about the X# Rdd system, explaining the architecture of the RDD system and showing you how to use the new RDD events and how you can "hook" into the RDD system with the new RddWrapper class in the X# runtime.