XSharp 1.2 released

We have released XSharp 1.2 today. This release fixes some compiler issues and has many improvements in the Visual Studio integration.
There is both a new public release as well as a new release for our FOX subscribers. Both releases have the same functionality. The compiler in the release for FOX subscribers is somewhat faster. Some highlights of this build:

Compiler

 

Visual Studio Integration

This new version is available for download for both FOX subscribers as wel as the general public from the download pages on this website.


6 comments

  • I have a hard time downloading it. I will try this again tonight (5x already).

    One more thing, is there a switch to turn to make source editing to auto format. For example, typing ENDIF will tabify it to right position in line with IF, just like we have in VO or C#.
  • Hi Robert,

    Thanks for adding this new features. Got spoiled by C#'s IntelliSense that sometime I struggled to fight it. I remember in Sidekick era where there are auto formatting.

    I will download this past midnight to get full assurance to get full speed. Kids at home are using my bandwidth like crazies.

    Anyway, I am heavy user of this code shortcut:

    rather than typing:

    If (this.Thing != null)
    this.Thing.DoThis()

    We could just write this:
    this.Thing?.DoThis()

    Already in X#?
    This saves lot of lines and make code compact. If it does supported, then I really need to read a lot of X# docs.

    Regards,

    Rene


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

    The source formatting when the Enter key is pressed is part of this release.

    Robert[/quote]
  • Rene,
    you mean this (from Help - conditional access:
    LOCAL oEmptyPerson as Person
    LOCAL sName as STRING
    oEmptyPerson := GetAPerson()
    sName := oEmptyPerson?:FirstName // Conditional Access: This will not crash, even when Person is a NULL_OBJECT
    ? sName DEFAULT "None"

    HTH
    Karl
  • [quote name="Karl Faller"]Rene,
    you mean this (from Help - conditional access:
    LOCAL oEmptyPerson as Person
    LOCAL sName as STRING
    oEmptyPerson := GetAPerson()
    sName := oEmptyPerson?:FirstName // Conditional Access: This will not crash, even when Person is a NULL_OBJECT
    ? sName DEFAULT "None"

    HTH
    Karl[/quote]

    Hi Karl,

    Yes, that is what I mean. And thanks, because I found this also in online help as well: https://www.xsharp.eu/help/conditional-access-expression.html

    --

    Rene