- Created: 06 February 2018
Today, February 6, 2018, we have released build 1.1.2 of XSharp.
This is a maintenance release that fixes some bugs that were reported, especially in the Visual Studio integration and also in the compiler.
Some users experienced slowness in the editor. This build attempts to fix that. We have also made some changes to support some complicated forms in the Visual Studio Windows Forms editor.
This build is available for FOX subscribers from the downloads menu item on this website.
- Created: 12 December 2017
We have released an update for XSharp tonight. This update fixes some issues that were reported with the 1.1.0 version. The most significant changes are:
- Improved debugger breakpoint experience
- Fixed a problem with FOR ..NEXT with negative step values
- Some changes in the preprocessor
Visual Studio Integration
- Improved code parsing and code generation for the WPF and Windows form editor. As a result of that some more complex forms can now be opened without problems
- Classes generated by the VO compatible editor now include the PARTIAL modifier
This new version is available for download for both FOX subscribers as wel as the general public from the download pages on this website.
And finally the X# development team wishes you all the best for 2018.
- Created: 30 November 2017
The download area on our website now has the binaries for ReportPro 2 and ReportPro 3 for VO and the Vulcan runtime.
If you have asked for access to these downloads before you should be able to see and download them.
If you can't download them, then please contact us with proof of purchase of ReportPro.
Update: Dec 10: The RP3 for VO binaries did not have the latest CMGUI203.DLL. This has been fixed.
- Created: 18 November 2017
We have just released XSharp "Anjou" Build 1.1 to our FOX subscribers and a public build as well.
This release has many changes. Some highlights:
- Fixed most problems reported by users
- Added support for a new /vo16 compiler option that will automatically generate VO compatible Clipper calling convention constructors for classes without constructor. The parameters names for these constructors will be copied from the constructor of the parent class
- Some keyword were giving problems when used as identifier or were not allowed as identifier. That has been fixed.
- Several improvements in the source code editor and intellisense
- The speed of the source code editor for large files has been improved
- Several changes to the CodeDom parser for the Windows forms editor to support code from 3rd party components as well as forms and (custom) controls defined in other projects inside the same solution
- Several changes to the VO Compatible editors
- We have added debugger support.
- We have added support for the Test Window and added 3 project templates for unit testing (Ms Test, XUnit and NUnit)
The build system
- We have fixed some problems in the xsproj files for Visual Studio and our build system
- We have fixed a problem when running MsBuild in 64bit mode
Please see the what's new document that comes with the product for the complete list of changes
You can download the installer from the downloads page on this website.
- Created: 27 October 2017
Our message about supporting ReportPro has raised some questions, which we would like to answer here.
But before we do, let us please explain why we are doing this:
Many VO developers have applications that rely on 3rd party code. bBrowser, Vo2Ado and ReportPro are the most common ones. Apart from that there is RightSLE and the tools from Fabrice.
It will be difficult for VO developers to move forward if there is no solution for their 3rd party products. That is why we want to offer our help.
Here is what we have in mind:
- We have no intention to sell new licenses of Classmate (CM), ReportPro 2 (RP2) or ReportPro 3 (RP3). These products are "end of life".
- On top of that we cannot sell these products because the original copyright owners cannot transfer their rights anymore (for legal reasons that we cannot explain here).
- After the conversion of RP2, CM and RP3 from VO to Vulcan the copyright to the Vulcan version of these products has become very unclear: most of the copyright still belongs to original owners, part of it to DataSupport in Belgium who did the conversion to .NET and finally also GrafX claims copyright. This really has become a legal nightmare. We do not want to get involved in that.
- We want to encourage people to use other tools for new reporting. That is why we will only support existing customers. There are plenty other reporting tools for .Net applications. If you need help for this, ask around, for example on our forums.
- People that have a source code license of a version of RP2 or RP3 (proof of purchase required) will get support at the source code level. Of course we will also supply binaries.
- Created: 23 October 2017
We have been in contact with the owners of ReportPro about support for the ReportPro product.
The owners have expressed their wish that the ReportPro customers should be supported properly, now and in the future.
As a result of these conversations we will from now on provide support to ReportPro customers.
This support will be integrated in the Friends Of XSharp (FOX) program.
- FOX subscribers will get bug fixes and/or patches for issues in ReportPro.
- FOX subscribers with a source code license will receive these bug fixes and/or patches in the form of source code changes and compiled binaries.
- FOX subscribers without a source code license will receive bug fixes and/or patches in the form of compiled binaries only.
- For non FOX subscribers the support will be available as a consultancy service.
- Proof of purchase of ReportPro is required for this support.
- Both the Visual Objects and Vulcan.NET version of ReportPro will be supported.
- Both ReportPro 2 and ReportPro 3 will be supported.
- When the X# version of the runtime is available then ReportPro will be recompiled and changed to work with the X# runtime.
In the coming weeks we will prepare "current" builds of all ReportPro products (Rp2 and RP3 for VO 2.8 SP3 and VO 2.8 SP4, as well as for the Vulcan Runtime. Stay tuned for more information
- Created: 25 September 2017
In the last build of X# we have introduced a small problem in some of our project templates (more about that later) and when trying to instruct one of our customers how to fix that I realized that it might be a good idea to explain our project file format a little bit.
But first let’s look back at the past.
Some of us have started development in the DOS days and may remember how the build process worked in the DOS/Clipper time:
You had a folder full of source code, an RMake file with instructions on which files needed to be compiled and what the compiler commandline needed to be and a Link file with instructions on how to link the object files produced by the compiler with the standard Clipper libraries and sometimes also with 3rd party libraries.
The Rmake file contained rules that described the dependencies: The Exe file depended on a list of OBJ files, which in their turn depended on PRG and CH files. When one of the PRG or CH files was newer than the OBJ file (or the OBJ file was missing) then the compiler would be called and a new OBJ file was created. After that the linker was called because the OBJ file was newer than the EXE file.
Btw (x)Harbour uses a similar way to compile.
- Created: 07 September 2017
We have just released a new 1.0.3 build of the compiler.
This build consist of a couple of replacement files for urgent problems that were found
after the release of X# 1.0.2, and adds a new feature to the compiler.
FOX subscribers can download the build from the download area on this website.
- Created: 31 August 2017
We have just released XSharp "Anjou" Build 1.02 to our FOX subscribers
This release fixes the bug that some of our users have experienced with Visual Studio 2017 build 15.2 and later.
We have also added many new features in Visual Studio and have made some smaller improvements to the compiler.
Unfortunately we found some issues in the Visual Studio integration with the Smartindent and Format Document features, so we have decided to disable those in this build.
FOX subscribers can download the installer for the new version in the downloads area on this website
Below is a list of the most important changes in this build:
- Added support for XML doc generation. We support the same tags that the C# compiler and other .Net compilers support.
- When declaring a type with the same name as the assembly now a compiler error is generated with a suggested work around.
- Indexed access to bytes in a PSZ is now 1 based like in VO when the VO dialect is used. The Vulcan dialect needs 0 based index access like Vulcan.
- For ambiguous code where the compiler has to choose between a Function call and a static method call in any other class, the compiler now chooses the function call over the method call (Vo and Vulcan dialect). The warning will still be generated.
- When passing a variable by reference with the @ sign the compiler will now check to see if the declared type of the function/method parameter matches the type of the local variable.
- The scripting was not working in release 1.01
Visual Studio Integration
- Fixed a 'hang' that could occur with Visual Studio 2017 version 15.3 and later
- 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 VO Menu editor to edit vnmnu/xsmnu files and generate the code and resources
- Added VO DbServer editor and VO Fieldspec editor to edit vndbs/xsdbs and vnfs/xsfs files and generate the code and resources
- Added keyword and identifier case synchronization.
- Prebuild and Postbuild entries in the project file are now configuration specific
- Added support for XML Doc generation in the project system
- Fixed a problem when importing certain VO 2.7 AEF files
- Fixed a problem with acceptable characters in the solution folder name
- VO Form and menu entities are also included in the xsproj file
- Added an option to the INI files to specify the Vulcan Runtime files location (RUNTIMELOCATION)