The public version of XSharp Bandol RC 1 has also been released. Click here to download it (you have to login first):


XSharp Bandol RC 1(Public)
New Popular XSharp Open License 46.11 MB

We are very proud that we can announce that we have released X# Bandol RC 1 to our FOX subscribers.
A public build of this product will follow shortly.
This build has completed the VO and Vulcan compatible runtime.

Unfortunately we found some last minute issues in the DBFCDX driver which could corrupt your indexes. We have therefore decided NOT to include the DBFCDX driver. An update for this will follow in a few weeks.
Some of the highlights of this build:

new IS Pattern expressions:

IF <variable> IS <type> VAR <newvariable>

This automatically creates a new variable <newvariable> that is only visible in the scope of the IF expression.

We have also added extended support for the & operator in combination with the Alias (->) operator and made a change to the preprocessor to make it more compatible with xBase++. You can now use


 to read a field from a workarea where the fieldname is in the expression. Of course you can also use


 which is almost what gets generated by the compiler.

There are many larger and smaller changes in the runtime to make it more compatible with VO and Vulcan.
There are also some changes in the Visual Studio integration, such as:

  • inheriting windows forms from other forms in the same project
  • fixed a 'hang' when opening projects inside VS 2019
  • some improvements in the auto indenting
  • new templates for VO and XPP class libraries

FOX Subscribers can download this new build here:

In this article we would like to share with you our development roadmap for the coming months.
We are now reaching  the final stage of the development of the runtime for VO & Vulcan and we are looking at new things that you an expect the coming year.
In the coming weeks we will release the first Release Candidate for the XSharp runtime. After that we expect to need a few weeks to finish the final remaining issues.
The schedule show you what we have planned to do after that.

The schedule below of course is an indication and as always: no guarantees.

Component Start Completed
XSharp 2.0 Release
- Runtime
- RDD System
- VO Class libraries
  May 2019
ReportPro 2 & 3 for XSharp 2.0 April 2019 May 2019
Xbase++ runtime functions   July 2019
(Visual) FoxPro dialect, including runtime functions
and support for VFP DBC and VFP datatypes in the DBF format
and a VFP - X# +Visual Studio converter
April 2019 August 2019
VO GUI and SQL Classes with Unicode and AnyCPU support (on top of Windows Forms and Ado.Net) June 2019 August 2019
VFP UI Classes August 2019 October 2019

As you can see in the schedule above: we have not planned to do Xbase++ UI classes yet. We need a business case (someone with a business app that uses the Xbase++ UI classes) or someone that can help us to define what exactly is needed to do this.

If you are missing something in this schedule, or if you want to help to implement / add something, please let us know. We welcome your input.


We have just published the detailed session schedule for the X# Summit next week in Austin.

Click here for the session schedule.

Click here for the speaker and session descriptions.

We still have a few seats free, so you can still register.

This spring is going to be an exciting period. Not only will we present our product on the X# Summit in Austin, we also expect to finalize the development of the X# Runtime for VO & Vulcan.
On top of that we will finish the implementation of the XBase++ dialect and we will start with the Visual FoxPro dialect. We are also preparing to promote our product at various FoxPro events around the world.

X# is really becoming a mature product !

To celebrate this we have a special introductionary price for new subscribers to the Friends Of XSharp program. If you follow this link, or if you goto the order page on shareit and enter the coupon code "SPRING2019" you will receive a 25% discount on the normal price of € 999.

This spring sale will end on June 21st.


Session and Speaker descriptions

Nikos Kokkalis

Nikos Kokkalis studied Computer Engineering at the Democritus University of Thrace, and there also earned his doctorate in 2011. Starting in 1996, he works as an independent software developer. Since 2009 he is employed by Intracom Telecom as an embedded software and algorithm engineer.
During 2011 - 2015 he was a member of the GrafX development team, working on the Vulcan compiler and database engine. Since Sept. 2015 he is a member of the X# development team, working on the compiler and macro compiler.

Multithreading and asynchronous programming with X#

In today's multi-core processors, it is crucial for most applications to be able to take advantage of more than one core by employing multiple threads to provide the best use experience. This is true both for server and desktop applications. This is usually combined - and sometimes confused - with the concept of asynchronous programming. Understanding these concepts and the tools offered by the CLR and X# will be the focus of this session

Into the X# compiler: Roslyn, scripting and the macro compiler

A deep dive into the X# compiler, scripting engine and macro compiler. Find out how it works, what it does best - and what it does not. Learn how to unlock the power of dynamic compilation in your applications. Performance considerations. Security concerns. These are some of the topics that we will study in this session.

Steve Ferrandino

Steve Ferrandino began his professional software development career writing code in a 1983 video game arcade in Denton, Texas (Z-80 assembly language for a custom-built video game system). From there he worked with the xBase family of languages using dBase II on a TeleVideo dual 8” floppy disk CPM system (1984). He has progressed through the family from dBase III to X# (where he now spends most of his time) having passed through dbXL/Quicksilver, Clipper, Visual Objects, and Vulcan.NET. Steve’s current position is as the Director of Administrative Application Development with Harvard University’s, T.H. Chan School of Public Health in Boston, Massachusetts where he has developed a large scale Line of Business application that interfaces with the central University and many external systems. In his free time Steve is a professional saxophonist and works on his 140 year old Victorian house.

Using X# (and C#) to interface to REST services

Representational State Transfer (REST) is a simple way to communicate between two loosely connected systems. This session will cover the history of REST and how it can be used in X# development work. Examples will include Package Tracking Services (UPS, USPS, FedEx, DHL), a two-factor authentication service (DUO), BING maps, Random Word Generation, GeoCoding, Wireless Communications Transfer Protocol (WCTP), Weather services and more.

Rolf van der Hulst

Rolf is a graduate of University College Twente (Bachelors' Degree) and has interrupted his university career for one year to become part of the RoboTeam Twente, an autonomous robot soccer team. In this team he is treasurer and Software developer. He mostly models mathematical and physical problems within the Robot soccer software.

Lessons from Robot Soccer; how to design and maintain software for an autonomous team of robots playing soccer.

The session will introduce robot soccer from a software perspective, and discuss some of the challenges it poses for (junior) software developers. The session will go into further detail on the architecture of the system and the 'compiler construction' for our robot language, and how we use our system to maintainable code in an easy and fast fashion.   


Robert van der Hulst

Robert has been part of the IT industry since the 80's. He started to develop applications in DOS with dBase, Clipper and FoxBase. Later he used Assembler, C++, Visual Objects, Vulcan.Net and C#.
Robert has created several 3rd party components for Visual Objects and Vulcan developers and has been part of the Visual Objects and Vulcan.Net development team from 2003-2010, where he was responsible for the release of VO 2.7 and VO 2.8 and for Vulcan.Net 2 for.Net Framework 4.
In 2015 he started the XSharp (X#) project together with Chris Pyrgas, Nikos Kokkalis and Fabrice Foray. This project has created an open source implementation of the XBase language for .Net. with support for Visual Objects, Vulcan.NET, xBase++, Harbour and (Visual) FoxPro.
In the X# team he has worked on the Compiler, Runtime, RDD system, VS Integration, Documentation and Project Management.
Robert has also helped many customers to move their applications forward from one XBase technology to another

Migrating your Visual Objects applications to X#

The X# development language was created to help you convert your Visual Objects applications with minimal changes to .Net. It is closer to Visual Objects then Vulcan.Net ever was. However some aspects of the Visual Objects programming language are simply not supported by the .Net environment. During this session we will convert several applications from Visual Objects to X# and will have a look at the steps you have to take to make your application run in .Net. We will also have a look at the various compiler options for the X# compiler and how they help to make your application run in .Net.

X# Language improvements compared to Visual Objects and Vulcan.Net.

The first and most important goal of the X# project is to create a development language that can compile your Visual Objects and Vulcan.Net applications. However the X# development team did not stop there and has added several new features to the language. Some of these features came “for free” because the team has used the Roslyn code as the foundation for the compiler. Other features were developed especially for XBase developers.

Understanding and making the most of X# and the X# runtime

The X# runtime functions very much like the VO and Vulcan runtimes, but is designed quite differently. We will have a look at the various components that form the X# runtime and will also have a look at the source code for the runtime. You will learn which components are needed for which dialect and how you can enhance or override the behavior of the X# runtime.

Session schedule


Wednesday March 20, 2019     
From Until Topic Speaker
17:00 18:30 Welcome Reception and Happy Hour
Opal Divine’s (entrance via the hotel lobby)
18:30   Dinner on your own  
Thursday March 21, 2019     
From Until Topic Speaker
09:00 09:15   Welcome and Opening X# Team
09:15 10:30 Migrating your Visual Objects applications to X# Robert
10:30 10:45 Break  
10:45 12:00 Multithreading and asynchronous programming with X# Nikos
12:00 13:00 Lunch  
13:00 14:15 Using X# (and C#) to interface to REST services Steve
14:15 14:30 Break  
14:30 15:45 X# Language improvements compared to Visual Objects and Vulcan.Net. Robert
15:45 16:00 Break  
16:00 17:00 Lessons from Robot Soccer; How to design and maintain software
for an autonomous team of robots playing soccer.
18:15   Meet in hotel lobby for transportation to dinner  
18:30 22:00 Dinner at Guero’s Taco Bar  
Friday March 22, 2019     
From Until Topic Speaker
09:00 10:15 Understanding and making the most of X# and the X# runtime Robert
10:15 10:30 Break  
10:30 11:45 Into the X# compiler: Roslyn, scripting and the macro compiler Nikos
11:45 12:00 Break  
12:00 13:00 Closing session, The future of X# and Q&A X# Team
13:30   Meet in hotel lobby for transportation to lunch  
14:00   Lunch at Able’s on the lake  

List of Speakers and description of sessions