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 ;-)


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.

Compiler

  • 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

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

The changes in these release are:

Compiler

  • 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.

Runtime

  • 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.

A short report on what we have been doing in the last months. The things below will be included in the next build (2.3) that will be released in the coming week.

Compiler

We have added support for #pragma options and #pragma warnings. We have also added support for FoxPro Currency literals ($123.4567). We have also added support for the /cs (Case Sensitive) compiler option. And the compiler now also includes a string version of the compiled codeblocks, so you can see what the original source looked like in the debugger. And several other smaller issues were fixed as well.

Runtime

We have added prototypes for all FoxPro functions that we plan to support. They are not all implemented yet, but they are included in the help file already with a "-- todo--" comment (See also https://www.xsharp.info/runtimehelp/html/T_XSharp_VFP_Functions.htm). We have also added fixed several reported issues and added support for the FoxPro Currency type. Usuals can now also be of type "currency".

RDD system


In the last years we have presented you with a development roadmap at the beginning of the year. And that is a tradition that we'd like to keep.

Below is an overview of what we are planning to do in 2020. Of course we will also continuously keep fixing bugs and keep adding small enhancements as we like.

Finally the obvious disclaimer: these are our plans. They are not set in stone. We will adjust these plans whenever we see fit.

 

VO & Vulcan
Runtime

FoxPro
Runtime

Compiler

Visual Studio

Q1

Sync with VO 2.8 SP4
Release of X# SQL Classes based on Ado.Net
X# versions of all the Fab tools
Make ReportPro for X# more VO compatible

SQL based cursors (ODBC but also OleDb, Ado.net)
Implementation of several runtime functions

Most Foxpro commands,
Local functions and methods, USING VAR

Additions to VO editors (class= lists, options pages etc).
Debugger extensions
Editor / intellisense improvements

Q2

Beta of X# VO compatible UI classes based on Windows Forms

FoxPro forms support
More runtime functions
DBC support, Data Environments, Cursor Adapters

Some new features from C# 8, such as exception filters, tuples and more
Dialect support for X# scripting

Foxpro forms editor,
VO form editor resources less code generation

Q3

Release of X# VO UI Classes & windows forms

Foxpro reports
Embedded SQL on top of FoxPro tables

Embedded SQL and FoxPro tables

.Net Core support inside Visual Studio


Q4

ReportPro runtime based on Windows Forms
Present at German Conference

What's left
Present at SW Fox,

t.b.d.

Support for .editorconfig for all editor options
VS VNext() ?


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

The most important change in this build is that we have fixed the error message that was shown inside Visual Studio after installing X# 2.2 and loading a solution without X# projects (why would you want to do that <g>)

The complete readme with the description of the changes can be found here

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