XSharp Bandol RC 2

We have just released XSharp Bandol RC2 for our Fox subscribers.

This build mainly has improvements in the Runtime. We have added the long awaited DBFCDX driver and also a new DBFVFP driver, which is like the DBFCDX driver but with added support for new Visual Foxpro field types such as Integer, DateTime, Double, Float and Currency.

We have also added some elements needed for the FoxPro support to the compiler, such as FoxPro compatible Date and DateTime literals and the THIS keyword and DOT as operator for instance methods and properties. So in the FoxPro dialect you can use THIS.Text which is the same as SELF:Text in the other dialects. Support for FoxPro class definitions and a header file to map the FoxPro commands to the already existing DBF related and settings related functions will be added later.

The next build will be the Bandol Final Release. We expect to work on some VS improvements (for example in the Windows Form Editor) and we will also complete the FoxPro support in the compiler and add a FoxPro compatible header file with UDCs for the various DBF related commands.

After that build we expect no major compiler changes for a while, and will focus on Runtime improvements for the various dialects, such as a SQL based workarea (for the FoxPro SQL.. functions) and a functions that wrap a DBF workarea in a Ado.Net DatTable or DataView so you can assign a DBF workarea as datasource for a standard .Net browse control.

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


  • I haven't really followed most of the DBFCDX driver developments I must confess but now the driver has been added I have a few questions:

    1 Does this mean that with Bandol RC2 I no longer need to include Vulcan DLL's?
    2 If so, do I need to change anything in existing code?
    3 Does it also work with the Advantage RDD which I now reference to use X# programs with Advantage? Or does it require other steps/RDD's?
    4 Final question: If the reply to the 3 above questions is positive, can I go ahead with X# & DBFCDX + ADS? Or is there a good reason to wait for the Final Release?

    In short: I would love to get rid the Vulcan stuff but I don't want to do that if it means I have to troubleshoot all kinds of code which is now working. A couple of changes in references and here or there in code would be no problem of course.

  • Thank you very much! Installed and compiled some of my projects, seem to work without issued. I will use it the next days for development.
  • Dick,

    1) With Bandol RC2 you can completely replace the Vulcan Runtime with the X# runtime. 'Simply' replace the references to VulcanRT.DLL and VulcanRTFuncs.DLL with XSharp.Core.DLL, XSharp.RT.DLL and XSharp.VO.DLL. Also replace the references to VulcanVOGuiClasses.DLL, VulcanVOSystemClasses.DLL etc with the same named assemblies without the Vulcan prefixes.

    2) Most likely you do not have to change anything. Only when you have referenced the Vulcan typenames with a fully qualified name (for example Vulcan.Error, Vulcan.VO.Window) or when you have added a using statement for Vulcan namespaces (USING Vulcan.VO) then you will have to change the namespaces.

    3) The advantage RDD is included in our XSharp.RDD assembly. So you should remove the reference to Advantage.DLL and if your code uses RddSetDefault("AXDBFCDX") or something similar then it should work without changes. If you have used any of the special Ax..() functions then you need to add a reference to XSharp.RDD.DLL.

    4) I would recommend that you give it a try (with test data PLEASE). You may find a problem (or two ?) but I think you will be surprised how much works without changes. Of course you can wait until others have tried it and have found problems, but there is no guarantee that others are doing the same as you do. The only real test is with your own code.
    And if it does not work then you know where to find us ;-)

  • >> wrap a DBF workarea in a Ado.Net DatTable or DataView so you can assign a DBF workarea as datasource for a standard .Net browse control.

    That would be awesome!!