VO Compatible Arithmetic in X#
- Details
- Created: 06 April 2020
In the last days, we have been trying to (among other things) complete the VO compatibility aspect of X#, by implementing one final missing piece, behavior of numeric arithmetic that is completely compatible to Visual Objects.
The area where this becomes visible is when dealing with integral numbers (either variables or constants) with a size < 32 bits, so of the type BYTE, SHORT and WORD.
For example, consider this code:
LOCAL b1,b2 AS BYTE LOCAL n AS INT b1 := 250 b2 := 10 n := b1 + b2 ? n
Currently this prints 260 in X#, as you may (or not!) expect. But in VO, the same code returns 4; the operation is performed between 2 BYTE vars and so is the result, which first overflows from the max value of 255 that can be stored in a byte and results to that value of 4 (260 mod 256), which is then in turn assigned to the INT var.
Read more: VO Compatible Arithmetic in X#
Comments (4 Comments)Progress on VFP runtime, SQL functions
- Details
- Created: 02 April 2020
Those of you that watch our commits on Github may have already noticed it:
we are working on the SQL functions for FoxPro support.
What have have so far:
SQLConnect()
SQLStringConnect()
SQLDisconnect()
These three create a SqlStatement object with an embedded SqlConnection object. When the statement is marked as "Shared" then the Connection can be shared between multiple statements.
To get and set properties for these SQLStatements you can call
SQLSetProp()
SQLGetProp()
Read more: Progress on VFP runtime, SQL functions
Comments (3 Comments)Special "Work at home" discount for new FOX subscribers
- Details
- Created: 23 March 2020
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 ;-)
Comments (0 Comments)XSharp Bandol 2.3b
- Details
- Created: 23 March 2020
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.
{rsfiles path="fox/Compiler/XSharpSetup23bFox.zip"}
Comments (10 Comments)
Progress report March 19, 2020
- Details
- Created: 19 March 2020
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
Read more: Progress report March 19, 2020
Comments (3 Comments)ILSpy plugin for V5.02
- Details
- Created: 11 March 2020
The XSharp language ILSpy5 plugin was not working with the latest stable version of ILSpy : V5.02
This has been addresses and you can get that version in the Downloads/General/Tools section.
Unzip the DLL in the same folder as the ILSpy Binaries and you're done.
If you are looking to the ILSpy V5.02 binary, go to ILSpy binaries.
Now, when running ISpy, you can set the language as XSharp.
Don't forget that the full source code of the Plugin is available in the public XSharp Repository on Github; you can also view there the current state of developement of the tool ( What is working currently, Changelog, ... )
ILSpy is the open-source .NET assembly browser and decompiler, and as shown during the xBase Future 2018, you can now use ILSpy to view and decompile .NET assembly as XSharp Language.
Comments (10 Comments)XSharp Bandol 2.3a
- Details
- Created: 25 February 2020
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.
XSharp Bandol 2.3
- Details
- Created: 12 February 2020
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
{rsfiles path="fox/Compiler/XSharpSetup23Fox.zip"}
Comments (15 Comments)Progress report Feb 10, 2020
- Details
- Created: 10 February 2020
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
Read more: Progress report Feb 10, 2020
Comments (2 Comments)