Objects and controls

PDF Builder enhancements

PDF Builder has the following new features:

For more information, please refer to: the section called “Building PDF documents in the application” in Application Techniques.

DataWindow enhancements

DataWindow has the following enhancements:

  • DataWindow SaveDisplayedDataAs method

    Saves the display values of the DataWindow in the specified format: SaveDisplayedDataAs.

    What's supported by this function:

    • Saving data in a Text, CSV, or Excel file.

    • Saving the display value of the Edit column according to the format setting.

    • Saving Text, Column and Computed Field objects.

    • Saving the display values of the DDLB, DDDW, RadioButton, and EditMask into the file.

    • Support Grid, Tabular, FreeForm, CrossTab, N-up, Group, TreeView DataWindows.

    • Saving data of the band layer (and does not support saving the data of the Foreground and Background layers.

    Limitations:

    • Does not support Composite, Graph, OLE, RichText, and Label styles in DataWindow.

    • Does not support saving graphical objects such as Button, Picture, GroupBox, Line, etc.

    • Does not support saving Font attributes, including FaceName, Size, Color, Bold, etc.

    • The width of cells in Excel may not match the width of columns in the DataWindow.

    • Due to differences between Excel and DataWindow, for non-Grid style DataWindows, if objects are not aligned properly, the content may be misaligned when saved to Excel.

    • When object heights vary significantly, blank rows may appear in the data when saved to Excel.

    • If the visible property of the object is set via the expression, the visibility of the first row in that column will determine whether the data in the other rows is saved. Specifically, if the first row is set to visible, the subsequent rows will also be saved; if it is not visible, the other rows will not be saved either.

  • DataWindow update properties

    The settings in the Specify Update Properties window may be removed if you change an updatable table via DataWindow SQLs for a multi-table DataWindow.

    This behavior has been rectified in Version 2025, for example, if you change a table via SQLs (such as adding, deleting, or modifying a column which causes the update properties to change), the settings in the associated Specify Update Properties window will be retained and the column changes (as well as the key column changes, table name changes, if any) will also be reflected in the window.

TabbedView enhancements

The TabbedView feature has the following enhancements:

  • You can enable and disable TabbedView and MaximizeAllTabbedSheets via scripts, which means, you can enable and disable TabbedView and MaximizeAllTabbedSheets at runtime. In the previous version, you can only enable and disable TabbedView and MaximizeAllTabbedSheets in the IDE (at the design time).

    w_mdi.TabbedView = true                // Enable TabbedView
    w_mdi.MaximizeAllTabbedSheets = true   // Enable MaximizeAllTabbedSheets
    

    You can get and set the following properties via scripts: visible, height, width, x, and y. In the previous version, you can only get the value of these properties.

    mditbb_1.visible = false
    mditbb_1.x = 10
    mditbb_1.y = 10
    mditbb_1.width = 1000
    mditbb_1.height = 200
    
  • You can close a tab by clicking the scroll wheel or middle mouse button on it.

RichTextEdit enhancements

The RichTextEdit control supports the following new functions:

By the way, the rich text editor is enhanced to support defining custom paper size in the Properties dialog > Print Specification tab > Customize option.

SMTPClient supports various authentication type

The SMTPClient object supports the following authentication types:

  • GSSAPI

  • LOGIN

  • NTLM

  • PLAIN

  • XOAUTH2

You can specify which authentication type to be used via the SMTPClient AuthType property.

EditMask and MultiLineEdit support Placeholder property

The EditMask and MultiLineEdit controls support the Placeholder property. For EditMask, Placeholder property is supported only when the mask type is StringMask!.

The Placeholder property specifies a short description for the expected value of the input field. The Placeholder value can be used as a text label or hint; hence can help to reduce the number of UI controls. The Placeholder value will not be displayed, 1) if the Text property is set (the Text value will be displayed first); or 2) when the input field has focus.