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
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.
Many people have contacted us and asked when the next public beta of X# will be available.
I am happy to announce that this beta will be available by the end of this week.
Compared to the version that we released last February many things have changed. For example:
To make the language more VO/Vulcan compatible:
- The compiler recognizes the complete VO syntax, so also Codeblocks, Field statements, Workarea alias etc.
- The compiler can consume the USUAL type, ARRAY, DATE etc from a Vulcan runtime assembly (in what we call Bring Your Own Runtime mode)
- We have added support for "Clipper Calling Convention"
- The compiler can produce late bound code (methods and properties can be called on variables of type USUAL and OBJECT)
- We have implemented most of the /VO compatibilty compiler options that Vulcan has
- We have added support for String2Psz() and Cast2Psz() and some other intrinsic functions such as SLen(), AltD(), PCOUNT() and _GETMPARAM()
- We have added several preprocessor macros, such __ENTITY__, __DIALECT__, __VERSION__ etc
- We have added support for the &() macro operator
- We have added support for BEGIN SEQUENCE .. END
- We have added a new /vo15 compiler option. With this option you can disable the (VO and Vulcan) behavior that declarations without type will automatically become 'AS USUAL'
- All the code compiled by the X# compiler in the Vulcan Dialect will be recognized as "true Vulcan code" by the Vulcan compiler, so you can mix the two if you want or have to.
New features (also in the Core dialect)
- Support for the DYNAMIC type
- Support for BEGIN USING .. END USING (similar to the using statement in C#)
- Support for "interpolated strings"
- Support for Lambda expressions with multiple expressions or even statements and statement lists
- a new syntax for 'complex events'
- Support for the NameOf() intrinsic function
- Support for BEGIN FIXED .. END FIXED (similar to the fixed statement in C#)
Also many changes were made in the Visual Studio integration such as:
- Support for the Windows Forms Editor (including separate .designer.prg)
- Support for the WPF Editor
- Several project and item templates have been added
- Support for the Native Resource Compiler
- Better support for Side by Side installation with Vulcan.NET
Please stay tuned. More news will follow by the end of this week.
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.
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.