Ok, we have scheduled another online event, this time using Zoom.
During this meeting we will look at the XSharp Runtime State.

Topic: Exploring XSharp Runtime State

Time: Apr 30, 2020 04:00 PM Amsterdam, Berlin, Rome, Stockholm, Vienna

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

Next week (May 7, same time) we will look into new features inside the X# language.
An invitation will be published here.

Comments (1 Comment)

Last week's online demo of new features in XSharp 2.4 has been well received. Not that we stressed the Ms Teams Live servers, no way, but there was anough attendence, and also the recorded session on YouTube has been watched enough, so we are thinking of doing something like that more frequently.

One thing that we did not like ourselves is that the Ms Teams Live event has a built in delay, which makes it hard to do an interactive event. We are therefore considering to do something similar this week but with another platform: Zoom.
And yes, we are aware of the fact that Zoom sessions are difficult to secure, but our intention is not to have a secure session but to reach as many people as possible, so that is in fact a good think for us <g>.

Last weeks session also focused on new features in the VFP area, however this week we would like to discuss more general topics that are useful to developers in all X# dialects.

We have a few ideas about topics that we could talk about, but we're open for your input of course. Below is a list of suggestions that we came up with ourselves. These suggestions can be divided in 2 groups: compiler/language tips/tricks  and runtime tips/tricks


  • IS Var
  • Special Out declarations: Out VAR Id, OUT Id as Type, OUT NULL
  • 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)
  • Show #pragma warnings and #pragma options
  • Passing variables by reference to untyped functions


  • Inspect runtime state, workareas etc inside VS for the time being (as long as we don't have a workarea window).
  • Workarea events and how to use them for logging
  • The RddWrapper class that can be used to monitor and intercept the RDD behavior.
  • Register code to resolve duplicate functions/methods at runtime with the macro compiler (SetMacroDuplicatesResolver)
  • Register your own code to intercept the behavior of the File() function (RegisterFileSearch)
  • The new DbDataTable() and DbDataSource() in combination with "normal" RDDs to link data to a Windows Forms or WPF window

We know this list is too long for one session, so please let us know where we should start this week. And please also lets us know if you have other ideas.

A link for this weeks session will be shared later.

Comments (5 Comments)

Today we have released a new installer for XSharp Bandol 2.4 to our FOX subscribers.

This build contains several fixes to issues reported by our customers and also suport for most of the SQL..() functions for the FoxPro dialect.

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

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

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

On Thursday April 23 at 16:00 Amsterdam time Robert will do a short online demo of some of the new features in this build.

The recording of the online demo can be seen on our YouTube channel .

 A public build for version 2.4 is scheduled for next week.

Comments (10 Comments)

Today we have released a new installer for XSharp Bandol 2.3b to our FOX subscribers.

Most of the changes in this release were listed in our post from last week.

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


Comments (10 Comments)

We have not made our final decision yet about our X# Summit in Memmingen, but it looks like it will be difficult to do an event like that in 2020. Many other companies have already cancelled their meetings.For example, we learned this week that Microsoft is cancelling all major events until Q2 of 2021.
Also most European governments have strict rules about what is allowed and what not and things are not looking good if you like to attend conferences.

In response to that many companies have decided to change their normal events to Virtual, Online events.

We are also looking into this. Even when we are lucky and may be able to hold our event, it is probably a good idea to start with virtual events as well.

At this moment we are thinking about using a platform such as Microsoft Teams - Live Events to broadcast sessions to our users.
You would be able to view these sessions live and participate and discuss with the speaker using a Q&A chat window. Afterwards we would of course also publish a recording of these sessions in our YouTube Channel.
Sessions could be the length of regular conference sessions (60-90 minutes), but we can also imagine short demonstrations of new features that have made it into the product. And who knows, maybe you would like to see some live coding as well ?

Of course this is only useful if you, our customers, are interested in something like this.

Please use the comment feature on the website or our forum to let us know what you think about this.

Comments (6 Comments)

A short report on what we have been doing in the last month. We have not been idle, I can say, despite (or thanks to) the CoVid19 crisis

We have made some changes to almost every part of the system. Below is an (incomplete) list of the changes.


  • We have added support for bracketed strings
  • We are now generating a version resource based on Assembly attributes even when you have included a native resource file
  • Extended match markers in UDCs now also recognize file names including paths
  • We have implemented the /vo11 compiler option
  • We have solved several signed/unsigned warnings
  • You can now use PCall() to call typed function pointers stored inside VO structures

Comments (3 Comments)

Because of the world wide CoVid19 crisis, many developers are forced to work at home at this moment.

We think this is the perfect moment to have a look at X# and how it can help you to move your XBase applications forward to .Net.

The best way to do that is to subscribe to our Friends Of XSharp program so you can work with the latest version of the product.

To encourage you to take this step we now have a special promotion price for the first year of your subscription.

If you use the coupon code "XS-WORK-AT-HOME" on our order form you will get 30% discount on the normal price for your first year of the subscription.

If you click this link then the discount will be automatically included in the price.

PS The discount is also valid if you work from your office ;-)

Comments (0 Comments)

Today we have released a new installer for XSharp Bandol 2.3a to our FOX subscribers.

The changes in these release are:


  • When compiling in case sensitive mode, the compiler now checks to see if a child class declares a method that only differs from a method in its parent class by case
  • The warning message about assigning to a foreach iterator variable has been changed from "Cannot assign" to "Should not assign"
  • #pragma warnings was not working with the xs1234 syntax but only with numbers. This has been corrected.


  • Added the SetFieldExtent method to the IRdd interface
  • The USUAL type no longer "caches" the dialect setting
  • Fixed some problems with ACopy() with skipped or negative arguments.
  • The return value for Alias() is now in upper case.

Comments (2 Comments)