X# development Roadmap 2020

In the last years we have presented you with a development roadmap at the beginning of the year. And that is a tradition that we'd like to keep.

Below is an overview of what we are planning to do in 2020. Of course we will also continuously keep fixing bugs and keep adding small enhancements as we like.

Finally the obvious disclaimer: these are our plans. They are not set in stone. We will adjust these plans whenever we see fit.

 

VO & Vulcan
Runtime

FoxPro
Runtime

Compiler

Visual Studio

Q1

Sync with VO 2.8 SP4
Release of X# SQL Classes based on Ado.Net
X# versions of all the Fab tools
Make ReportPro for X# more VO compatible

SQL based cursors (ODBC but also OleDb, Ado.net)
Implementation of several runtime functions

Most Foxpro commands,
Local functions and methods, USING VAR

Additions to VO editors (class= lists, options pages etc).
Debugger extensions
Editor / intellisense improvements

Q2

Beta of X# VO compatible UI classes based on Windows Forms

FoxPro forms support
More runtime functions
DBC support, Data Environments, Cursor Adapters

Some new features from C# 8, such as exception filters, tuples and more
Dialect support for X# scripting

Foxpro forms editor,
VO form editor resources less code generation

Q3

Release of X# VO UI Classes & windows forms

Foxpro reports
Embedded SQL on top of FoxPro tables

Embedded SQL and FoxPro tables

.Net Core support inside Visual Studio


Q4

ReportPro runtime based on Windows Forms
Present at German Conference

What's left
Present at SW Fox,

t.b.d.

Support for .editorconfig for all editor options
VS VNext() ?


18 comments

  • George,
    We listen to our subscribers. And they have told us that VO compatibility and FoxPro compatibility are the most important things.

    Since they are the ones that support the development of the product with their money, it makes sense that we listen to them.

    Robert
  • [quote name="Robert van der Hulst"]...We listen to our subscribers...[/quote]

    ReportPro3 and Classmate (to WinForms) would be my favourite.

    Stefan
  • Hi Karl,

    That is why it took me 2 weeks or more to figure out the problem. Kind of weird.

    I have a DEFINE SL_CODE
    and have a Index Expression that looks like this: SL_CODE +DTOS(TRAN_DATE)

    I have field name SL_CODE and TRAN_DATE

    That order expression failed. CreateOrder return false. Was not created. I did create a sample app for X# people to see but that sample no longer shows the problem. It made me realized that something is happening. So, that is. When I renamed all DEFINE SL_CODE to SL_CODE_POS, everything worked fine. It is hard to duplicate. But it happened. Again, weird.

    [quote name="Karl-Heinz Rauscher"]Rene,

    it seems thereΓö¼Γöñs no problem with DEFINEs, but with #DEFINE names that match field names. The thrown error below refers to the codeblock of the DBCreateOrder() where the field LAST is used.

    Is that what you mean ?

    --------------
    #DEFINE LAST 1
    // error XS9002: Parser: unexpected input '1'

    // #DEFINE LAST 0
    // error XS9002: Parser: unexpected input '0'

    // DEFINE LAST := 1 AS INT // ok

    FUNCTION Start( ) AS VOID

    ? DbCreateOrder ( "ORDER1" , "D:\test\foo1.cdx" , "Upper(LAST)" , { || Upper ( _Field->LAST) } )

    RETURN
    -----------------

    Karl-Heinz[/quote]
  • The problem on CDX existed only on our apps, but when I create a sample, its no longer manifested on it. Karl's post give me an idea that could be the problem, but still it was weird problem in my end.

    I love the GUI class replacement with WinForms and doing it in a manner that changes are minimal or nothing at all. Anyway. I am intrigue, not tried it: can we Xporter only works on AEF. Can we do a MEF only? Rigth now, when I do changes on our classic VO apps, I have to copy and paste the same thing on X# apps. But when I am changing the GUI and that is complicated a bit.

    [quote name="Robert van der Hulst"]Rene,

    RP3 and Advantage support is coming in a few weeks. Also the next build includes most (all ?) of the ACE/Advantage functions that existed in ADS for VO.
    Fabrice is working on the Fab tools
    And can you send us an example of the CDX order expressions that clash with DEFINEs ?[/quote]
  • Rene,

    [quote name="Rene J. Pajaron"]Anyway. I am intrigue, not tried it: can we Xporter only works on AEF. Can we do a MEF only? Rigth now, when I do changes on our classic VO apps, I have to copy and paste the same thing on X# apps. But when I am changing the GUI and that is complicated a bit.[/quote]

    That's not possible now, but we could add this functionality if there's enough interest.
  • [quote name="Rene J. Pajaron"]Xporter only works on AEF. Can we do a MEF only? Rigth now, when I do changes on our classic VO apps, I have to copy and paste the same thing on X# apps. But when I am changing the GUI and that is complicated a bit.
    [/quote]

    So, there was interest from others as well for this feature, so we implemented it, xPorter now can also port from .mef and .prg files. Should be available in the next FoX build.
  • [quote name="Chris Pyrgas"]So, there was interest from others as well for this feature, so we implemented it, xPorter now can also port from .mef and .prg files. Should be available in the next FoX build.[/quote]
    Chris, that is very great! I like that!
    Wolfgang