fbpx

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

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.

 

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

Runtime

  • We have implemented several FoxPro functions and added the FoxPro Empty class
  • We have fixed some problems setting global state using the Set() function
  • Several workarea related functions were throwing an exception when called on a workarea that was not in use. This has been fixed.
  • We have fixed problems with several functions such as StrZero(), PadC(), IsSpace(), AFill(), ASort() etc.

Visual Studio integration

  • We have fixed an error in the keyword case synchronization code that could corrupt your code
  • The code behind the VS Form editor had problems with methods declared without return type. As a result forms could not be opened. This has been fixed.
  • Improved intellisense info for Defines and Enum members

VOXporter

  • When porting from Clipboard contents, now VOXporter puts back the modified code to the clipboard
  • Added option to remove ~ONLYEARLY pragmas

Installer and documentation

  • We have added a new commandline option to the installer that allows you to suppress uninstalling a previous version
  • The installer now lists all found instances of VS 2017 and VS 2019, including the Visual Studio Buildtools, so you can choose to install in a particular instance of these versions of Visual Studio or simply in all instances.
  • We have added several documentation topics describing the installer/uninstaller command line options and the build process inside VS
  • We have added documentation topics about catching errors in startup code and on some of the "special things" that the compiler does to your code.

The readme below contains a list of all the changes so far
A new build including these changes will be released in the next days (after extensive internal testing)

XSharp Bandol 2.3b What's new)
Popular 225.29 KB
2020-03-19

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

We have fixed several issues in the RDD system. We have now also included all known Advantage functions from VO in the RDD assembly. If you want to use these, then all you need to do is to include a reference to the XSharp.RDD assembly. Please note that handles for statements and connections are typed as IntPtr in X#. We have also added a new event to the Workarea notifications (FileCommit)

Visual Studio integration

We have optimized the speed for formatting in the editor. The toolpalette in the VO Form editor now has icons as well as text. We have added templates for VO MDI and VO SDI applications.

Build System

When compiling native resources the resource compiler now automatically includes a file with some defines such as VS_VERSION_INFO

Debugger

When you enter a watch expression in the debugger or a breakpoint condition, you can now use 1 based array indices. Our debugger will now automatically subtract 1 when evaluating the expression.

VOXporter

Fixed a problem in the windows forms code generation. Also added the ability to convert single MEF or PRG files as well as code from the clipboard. Finally we are no longer touching code between #ifdef .. #endif in VOXporter.

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.

VO SDK

  • The VO SDK Console class now uses the System.Console class internally.

RDD system

  • Fixed a problem in the Advantage RDDs that was caused by a casing problem (a method in a child class had a different case than the method in the parent class that it tried to override). This is why we also added a check to the compiler.
  • Creating an NTX with the DBFNTX driver could fail in some situations due to timing issues. This has been fixed.

Visual Studio integration

  •  Fixed a problem in keyword case synchronization that could corrupt the editor contents.

Please note that we have also changed the runtime and VO SDK help on the website. These two help collectoins are now merged. 

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.3 to our FOX subscribers.

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

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