fbpx

After the Anjou releases beginning of last month we have been a little quiet. After all it is summer time and we needed to spend some time with the family.
But we have not been sitting on our hands. On the contrary. You have seen that we have been quite busy supporting people starting to convert their VO and Vulcan code.
And we have also developed some new things. These things are listed below.

We expect to release a new build to our FOX subscribers end of this week, beginning of next week. Stay tuned for more info.

Compiler

  • Added support for XML doc generation. We support the same tags that the C# compiler and other .Net compilers support (in fact we are using Roslyns XML generation feature for most of the work).
  • Improved some parser errors.
  • Created separate projects for portable and non portable (.Net framework 4.6) for the compiler and scripting. We will now install 2 sets of DLLs on your machine.
  • Fixed the code generation for conversion from USUAL to a known type. Now the same runtime error is generated that Vulcan produces when the object type in the usual does not match the type of the target variable
  • When declaring a type with the same name as the assembly in which it is defined a compiler error is generated with a suggested work around.
  • Fixed a strange compiler message when using a PTR() operation on a method call

Scripting

  • The scripting was not working in release 1.01

Visual Studio Integration

  • QuickInfo could generate a 'hang' in the VS editor. This has been fixed
  • Added quickinfo for globals and defines
  • Added completionlists for globals and defines
  • Added VO Form editor to edit vnfrm/xsfrm files and generate the code and resources
  • Added keyword and identifier case synchronization.
  • Fixed a problem where typing "SUPER(" in the editor could throw an exception

VO Xporter

  • Fixed a problem when importing certain VO 2.7 AEF files
  • Fixed a problem with unacceptible characters in the solution folder name

We have just released XSharp "Anjou" Update 1.

This update fixes some issues that were found in the last week:

Compiler

  • Fixed a problem with VERY old versions of the Vulcan Runtime (early Vulcan 2 versions)
  • Variables declared as DIM Byte[] and similar are now Pinned by the compiler
  • [Return] attribute was not properly handled by the compiler. This has been fixed
  • Compound Assignment (u+= f or -=) from USUAL and FLOAT were causing a stackoverflow at runtime caused by a problem in the Vulcan Runtime. These expressions now generate a compiler error with the suggestion to change to a simple assignment ( u := u + f)

Visual Studio Integration

  • Project References between XSharp Projects were also loaded as assemblyreference when resolving types. This could lead to speed problems and unnecessary memory usage
  • Improved the speed of the construction of Completion Lists (such as methods and fields for a type).
  • We have also added Completion List Tabs, where you can see fields, properties, methods etc. on separate tabs. You can enable/disable this in the Tools/Options/Text Editor/XSharp/Intellisense options page.

VO Xporter

  • We have added a check to make sure that the default namespace for a X# project cannot contain a whitespace character

On behalf of the Devteam I want to thank you all for the nice feedback that we got in the last week.This is really appreciated !

We are very happy that we can announce that, a little bit later then planned, we have uploaded XSharp "Anjou" Release Candidate 5 to the download folder for FOX subscribers.
As you can see from the version number we have been ready for a while, but internal QA has found a couple of (very small) things that we wanted to fix before releasing the product to our customers.

RC 5 will be the same as the General Release, unless one of our customers finds a show stopper in the next couple of days.

The General Release will most likely be released beginning of next week (July 3 or 4).

Some of the highlights of this release:

  • A new syntax for Lambda expression   ({ a,b,c => a+b+c}  but also { a as Int, b as Int, c as Int => a*b*c}
  • You can specify the base type for an Enum ( ENUM Foo AS WORD)
  • Several (small) problems in the compiler were fixed.

We are VERY pleased to announce that we have released XSharp "Anjou" (build 1.0.1) to the general public.

This new build differs only from RC 5, that was released last week, in a few issues with Visual Studio integration.

FOX subscribers can download their version from the FOX download area on this website. Other users can download their version from the General section on this website.

The difference between the two versions is that the Compiler in the FOX version is a little more optimized, so a little faster.

And FOX subscribers will get personal support from our development team in return for their support for the development of the product.

If you are not a FOX subscriber, now is the perfect time to join. We offer a 30% discount to all new members until August 31, 2017

We also offer a Compatitive Update for active VOPS/VPS subscribers. Click here for more information

We are proud that we can announce that the final beta of X# (Beta 12) has just been released to our FOX subscribers.
Some of the changes in this build:

  • We have migrated to the Roslyn codebase for C# 7. That will allow us to add many new language features in the not too far future and also solves some small problems from the earlier codebase.
  • The build contains some changes that make the compiler more VO compatible.
  • We have added support for X# Scripting.
  • We have made many improvements to the Visual Studio integration.

For a complete list of changes look at the what's new document in the General/Downloads section on this website.

If you want to support the X# project, it is not too late. We have a special 30% discount to celebrate the 20th anniversary of Visual Studio. This special offer is valid until June 7. Click here for more information.

Finally: we have also received another great customer example from Wolfgang Riedman, his "Door Configurator".
Look in the examples section on this website for more details about this example.