XSharp Bandol RC 1

We are very proud that we can announce that we have released X# Bandol RC 1 to our FOX subscribers.
A public build of this product will follow shortly.
This build has completed the VO and Vulcan compatible runtime.

Unfortunately we found some last minute issues in the DBFCDX driver which could corrupt your indexes. We have therefore decided NOT to include the DBFCDX driver. An update for this will follow in a few weeks.
Some of the highlights of this build:

new IS Pattern expressions:

IF <variable> IS <type> VAR <newvariable>

This automatically creates a new variable <newvariable> that is only visible in the scope of the IF expression.

We have also added extended support for the & operator in combination with the Alias (->) operator and made a change to the preprocessor to make it more compatible with Xbase++. You can now use

 (nArea)->&(Expression)

 to read a field from a workarea where the fieldname is in the expression. Of course you can also use

 (nArea)->(FieldGet(FieldPos(Expression)))

 which is almost what gets generated by the compiler.

There are many larger and smaller changes in the runtime to make it more compatible with VO and Vulcan.
There are also some changes in the Visual Studio integration, such as:

  • inheriting windows forms from other forms in the same project
  • fixed a 'hang' when opening projects inside VS 2019
  • some improvements in the auto indenting
  • new templates for VO and XPP class libraries

FOX Subscribers can download this new build here:

{rsfiles path="fox/Compiler/XSharpSetup2RC1Fox.zip"}


11 comments

  • Juast had decided to go to bed to cure my flue, made a last look to X# and BANG, there it is, RC1. Thanks, guys!
    Karl
  • Thank you very much! My current code is compiling and running.
    Please release a preview version of the DBFCDX RDD as soon as possible.
    Wolfgang
  • The DBFCDX driver is already feature complete (regarding VO compatibility for now), so no need for a preview. Just needs some improvements here and there to become stable enough for release, I do not think this will take much more time.
  • [quote name=&quot;Karl Faller&quot;]Yes. Every reindex "doubles" the list. At least in my apps...[/quote]EDIT: Had a look into the "base code". Seems, it never calls reindex at all, only CreateOrder.
    A quick test case using reindex acutally shrank the existing cdx file...
    Duh. OK, the base code probably is inherited from Vo1.0 times...
    Sorry for disturbing, and yes, when finally Bandol is complete, it's time for big housekeeping ;)
  • No problem Karl! I would not had been really surprised if there was indeed such a problem in VO and it would had been indeed nice if we would solve it in X# :). But I tested VO after your note and did not see any problems in VO in this area.
  • [quote name=&quot;Chris Pyrgas&quot;]But I tested VO after your note and did not see any problems in VO in this area.[/quote]Hmm. Just found, that after the "Reindex" i did two days ago, where my CDX actually "shrunk" about a third, today my "seek" for "Doll" fails (there IS such a record) while "Dol" succeeds (such a record exists, too).
    After a "Reorg", using my really old code, the seek works again. If you like, i could provide the old and new cdx via PN.

    Karl