We have just released the public installer for XSharp Bandol 2.4a
The complete readme with the description of the changes can be found here.
This is the same build as the subscribers build, with the exception that subscribers get a slightly faster compiler, a .Net core version of the compiler  and debug versions of the runtime assemblies to aid in tracking errors (not that we have any <g>).

You can download the installer from here (you have to login first):

{rsfiles path="installers/XSharpSetup24aPublic.zip"}

 


Today we have released a new installer for XSharp Bandol 2.4a, which contains several fixes for issues that our FOX subscribers have reported in in the compiler, runtime and VS integration, related to all X# dialects. Additionally, it includes further developments on the Visual FoxPro compatibility front, with much more to follow in the next builds.

The what's new document describing all the changes can be found here:

{rsfiles path="general/Readme/whatsnew24a.rtf"}

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

Unless some important problem is found in the next couple days, also the public version of the 2.4a build will follow shortly.
Thank you to all of you for your continued support and invaluable help in further developing the XSharp product!

 


The online event for Thursday May 7 , at 16:00 Amsterdam time, will be about new features in the X# language/compiler.

The recording of the session can be found in our YouTube channel.

Some of the topics that will be covered are

  • IS Var (and compare that with IsInstanceOf())
  • special Out declarations: Out VAR Id, OUT Id as Type, OUT NULL
  • New notation for literal numbers with thousands separators
  • Show #pragma warnings and #pragma optionsto override commandline arguments in code
  • Passing variables by reference to untyped functions
  • Show how we now don't longer need to use version resources but how the version info is generated from assembly attributes (and how you can switch back to the old behavior)
  • FOREACH statement (including enumerating arrays)
  • VAR keyword
  • Anonymous types

Next week (May 14) Robert will give an "advanced" session about the X# Rdd system, explaining the architecture of the RDD system and showing you how to use the new RDD events and how you can "hook" into the RDD system with the new RddWrapper class in the X# runtime.

 


Some updates on this special day for the Star Wars fans ("May the Fourth be with you").

The 2.4 build has been well received, but unfortunately there were a few small issues.
We are preparing a 2.4a build that fixes this, and will also release that revised build to the general public.

For coming Thursdag (May 7) at 16:00 Amsterdam time we have planned another online session, using Zoom.
This time we'll focus on some language / compiler improvements.
There is much that we can cover, so please let us know which of the topics you would like to be covered:

  • IS Var
  • special Out declarations: Out VAR Id, OUT Id as Type, OUT NULL
  • Show how we now don't longer need to use version resources but how the version info is generated from assembly attributes (and how you can switch back to the old behavior)
  • New notation for literal numbers with thousands separators
  • Show #pragma warnings and #pragma optionsto override commandline arguments in code
  • Passing variables by reference to untyped functions
  • Some other things in the language that are not new for X#, but may be new for people coming from VO or FoxPro
    • LINQ
    • LAMBDA expressoins versus Codeblocks. How are they the same and how are the different
    • FOREACH statement (including enumerating arrays)
    • VAR keyword
    • Anonymous types
  • Anything else ?

 


Ok, we have scheduled another online event, this time using Zoom.
During this meeting we will look at the XSharp Runtime State.

Topic: Exploring XSharp Runtime State

Time: Apr 30, 2020 04:00 PM Amsterdam, Berlin, Rome, Stockholm, Vienna

The recording of the session can be found in our YouTube channel.

Next week (May 7, same time) we will look into new features inside the X# language.
An invitation will be published here.


Last week's online demo of new features in XSharp 2.4 has been well received. Not that we stressed the Ms Teams Live servers, no way, but there was anough attendence, and also the recorded session on YouTube has been watched enough, so we are thinking of doing something like that more frequently.

One thing that we did not like ourselves is that the Ms Teams Live event has a built in delay, which makes it hard to do an interactive event. We are therefore considering to do something similar this week but with another platform: Zoom.
And yes, we are aware of the fact that Zoom sessions are difficult to secure, but our intention is not to have a secure session but to reach as many people as possible, so that is in fact a good think for us <g>.

Last weeks session also focused on new features in the VFP area, however this week we would like to discuss more general topics that are useful to developers in all X# dialects.

We have a few ideas about topics that we could talk about, but we're open for your input of course. Below is a list of suggestions that we came up with ourselves. These suggestions can be divided in 2 groups: compiler/language tips/tricks  and runtime tips/tricks

Compiler/Language

  • IS Var
  • Special Out declarations: Out VAR Id, OUT Id as Type, OUT NULL
  • Show how we now don't longer need to use version resources but how the version info is generated from assembly attributes (and how you can switch back to the old behavior)
  • Show #pragma warnings and #pragma options
  • Passing variables by reference to untyped functions

Runtime

  • Inspect runtime state, workareas etc inside VS for the time being (as long as we don't have a workarea window).
  • Workarea events and how to use them for logging
  • The RddWrapper class that can be used to monitor and intercept the RDD behavior.
  • Register code to resolve duplicate functions/methods at runtime with the macro compiler (SetMacroDuplicatesResolver)
  • Register your own code to intercept the behavior of the File() function (RegisterFileSearch)
  • The new DbDataTable() and DbDataSource() in combination with "normal" RDDs to link data to a Windows Forms or WPF window

We know this list is too long for one session, so please let us know where we should start this week. And please also lets us know if you have other ideas.

A link for this weeks session will be shared later.


Today we have released a new installer for XSharp Bandol 2.4 to our FOX subscribers.

This build contains several fixes to issues reported by our customers and also suport for most of the SQL..() functions for the FoxPro dialect.

The what's new document describing all the changes can be found here:

{rsfiles path="general/Readme/whatsnew24.rtf"}

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

On Thursday April 23 at 16:00 Amsterdam time Robert will do a short online demo of some of the new features in this build.

The recording of the online demo can be seen on our YouTube channel .

 A public build for version 2.4 is scheduled for next week.


We have not made our final decision yet about our X# Summit in Memmingen, but it looks like it will be difficult to do an event like that in 2020. Many other companies have already cancelled their meetings.For example, we learned this week that Microsoft is cancelling all major events until Q2 of 2021.
Also most European governments have strict rules about what is allowed and what not and things are not looking good if you like to attend conferences.

In response to that many companies have decided to change their normal events to Virtual, Online events.

We are also looking into this. Even when we are lucky and may be able to hold our event, it is probably a good idea to start with virtual events as well.

At this moment we are thinking about using a platform such as Microsoft Teams - Live Events to broadcast sessions to our users.
You would be able to view these sessions live and participate and discuss with the speaker using a Q&A chat window. Afterwards we would of course also publish a recording of these sessions in our YouTube Channel.
Sessions could be the length of regular conference sessions (60-90 minutes), but we can also imagine short demonstrations of new features that have made it into the product. And who knows, maybe you would like to see some live coding as well ?

Of course this is only useful if you, our customers, are interested in something like this.

Please use the comment feature on the website or our forum to let us know what you think about this.