2022 April Release

Fabasoft app.ducx 2022 April ReleasePermanent link for this heading

Find out more about new features and improvements in Fabasoft app.ducx.

Coalesce – Operator ?? and ??=Permanent link for this heading

Two operators have been added to the Fabasoft Expression Language.

The operator a ?? b is a shortcut for if (a != null) { a; } else { b; }.

The operator a ??= b is a shortcut for if (a == null) { a = b; }.

Visibility for Struct MembersPermanent link for this heading

Struct and class members inherit the visibility of the surrounding container. An information is generated if the inherited visibility is specified explicitly.

Example

public struct aPublicStruct {
  integer defaulttaccess;
  private integer privateaccess;
  public integer publicaccess;  // redundant
}

XML InterfacesPermanent link for this heading

The Fabasoft Expression Language can manipulate XML by using the interface classes XmlDocument, XmlNode and XmlNodeList. For more documentation see the interface descriptions.

Example

string xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?><root><node attribute=\"value\">text</node></root>";

XmlDocument doc = #XML.Parse(xml);
XmlNode root = doc.documentelement;
XmlNodeList children = root.childnodes;

value and oldvalue ParametersPermanent link for this heading

In behaviors and get/set expressions in the object model language the types of the value and oldvalue parameters is set according to the related property.

OpenAPI ServerPermanent link for this heading

Fabasoft app.ducx allows you to import an OpenAPI Service Definition into your Fabasoft app.ducx Project.

This creates the necessary types, a server class and an implementation template to implement the server with app.ducx expression code.