- Created: 16 October 2016
We have uploaded a new version of the compiler for our FOX subscribers to the Prerelease area on this website. This version fixes several issues that have been reported by our customers.
- Anonymous type members no longer have to be named. If you select a property as an anonymous type member then the same property name will be used for the anonymous type as well.
- Missing closing keywords (such as NEXT, ENDIF, ENDCASE and ENDDO) now produce better error message.
- We have started work on VO/Vulcan style of skipping arguments in the middle of a list of arguments.
VO/Vulcan style default parameters of xBase specific datatypes (such as SYMBOL or DATE literals) are not supported yet.
- IIF Expressions are now also allowed as Expression statement. The generated code will be the same as if an IF statement was used
- Created: 05 October 2016
We have just uploaded new installers for XSharp Beta 7a.
The XPorter tool has also been updated and is included in the installer.
Changes sinces Beta 7:
- The compiler was not accepting wildcard strings for the AssemblyFileVersion Attribute and the AssemblyInformationVersion attribute. This has been fixed
- The #Pragma commands #Pragma Warnings(Push) and #Pragma Warnings(Pop) were not recognized. This has been fixed.
- The compiler was not recognizing expressions like global::System.String.Compare(..). This has been fixed
Visual Studio Integration
- Dependent items in subfolders of a project were not recognized properly and could produce an error when opening a project
- Fixed a problem in the VulcanApp Template
- The Windows Forms Editor would not open forms in a file without begin namespace .. end namespace. This has been fixed
- Source code comments between 'entities' in a source file is now properly saved and restored when the source is regenerated by the form editor
- Unnecessary blank lines in the generate source code are being suppressed
- The XPorter tool is now part of the Installation
- Comments after a line continuation character were not properly colored
- Changed the XSharp VS Editor Color scheme to make certain items easier to read
- New managed resource files would not be marked with the proper item type. As a result the resources would not be available at runtime. This has been fixed.
- The installer, exe files and documentation are now signed with a certificate
- Created: 28 September 2016
We have added an example to the downloads section on the website with which you can convert your Visual Studio solutions with Vulcan source code from Vulcan.NET to XSharp.
Navigate to https://www.xsharp.info/itm-downloads?folder=general%252FSamples to download the example and start converting your projects.
- Created: 26 September 2016
Last year in the last week of September we have announced XSharp at the DevShare conference in the United Kingdom.
One year later XSharp is no longer a promise but a full blown product!
We are pleased to announce that we have released XSharp Beta 7 both to our FOX subscribers and to the general public today.
XSharp Beta 7 is a major step forward, especially compared to Public Beta 1 from February 2016.
Many new features have been added to the product, and major steps have been made to make X# compatible with Visual Objects and Vulcan.NET.
This version has almost all of the features that are needed to compile Vulcan.NET applications.
We still call this version a Beta version because it misses a very small number of features to compile your Vulcan applications, but the quality of the product is not Beta software at all but Release quality.
Now is a great time to look at XSharp and to test your VO and Vulcan code with XSharp.
- Created: 15 August 2016
We are pleased to announce that we have released XSharp Beta 6 to our subscribers today.
This build contains many improvements in the VO/Vulcan compatibility area. A selection from these changes:
- Added support for compile time codeblocks
- Added support for all kinds of Aliased Expressions (useful with RDD based data access)
- Added support for VO Compatible string comparisons
- Indexed properties can now be used by name (String:Chars for example)
- Indexed properties can now be defined with overloads with different parameter types (int and string for example)
VO and Vulcan support is nearing completion!
Some new features in this build
- Added a new syntax to define EVENTS (with ADD and REMOVE keywords)
- Completed the support for the .Designer.prg for windows forms inside visual studio
- X# now properly works side by side with the Vulcan project system inside Visual Studio. We no longer "steal" the language service from Vulcan projects
- Performance improvements in the source code editor for large files
This new build is available for download for FOX subscribers on the FOX download page on this website.
- Created: 21 July 2016
Last week I was on a holiday with my family in Normandy in France.
Some of the touristic highlights that we visited were of course the D-Day beaches Omaha, Utah, Juno, Gold and Sword where the allied forces started the liberation of the Northern part of Europ on June 6, 1944.
Near those beaches we also visited the war cemetaries where thousands of solders from the US, Britain, Canada and other countries were buried. This was very impressive as you can imagine.
The thought about these (mostly) young men that have given their lives to help liberate Europe, makes you feel very grateful and sad at the same time. You know that each person has left behind parents, or wife and children who have had to miss their loved sons or husbands and fathers.
At the same time the number of casualties was of course much smaller than the number of people that were killed by the occupiers. Compared to these numbers, the number of deceased allied soldiers was relatively low.
This reminded me of the famous quote from Spock in Vulcan "The needs of the wany outweigh the needs of the few, or the one".
I am sure that these soldiers and their families did not have something like that in mind, but I am glad that the allied leaders have chosen to liberate Europe, even when they could know that this would mean serious losses of allied lives.
- Created: 02 July 2016
We are reaching the end of the process to implement the BYOR (Bring Your Own Runtime) support and we are working on some of the more obscure things inside the compiler: implicit and explicit conversions and the related compiler options, such as /vo4 and /vo7.
If you would ask any normal person which number is bigger: -1 or any arbitrary positive number, then most people will say that -1 is smaller. Now ask the same thing to a computer and you may receive diferent and unexpected answers. Consider the following example program:
FUNCTION Start AS VOID
LOCAL dwValue AS DWORD
LOCAL liValue AS LONG
liValue := -1
dwValue := 1
? liValue < dwValue
Compile this code in Vulcan and it will compile without warnings, but the result will be that liValue (-1) is NOT smaller than dwValue (1).
- Created: 21 June 2016
We are proud to inform you that we have released XSharp Beta 5 today to our FOX subscribers.
It has taken a little longer than expected / hoped, but it is full of new features that make the product very compatible with VO and Vulcan.
Next to the obvious bug fixes there are lots of new features in this build, most of which are for the VO/Vulcan dialect only