XMetaL® Developer 19.0 Release Notes

Contents

Introduction

XMetaL Developer is a plug-in to the Microsoft® Visual Studio® platform. Using XMetaL Developer, developers and customizers can customize the behavior of XMetaL® Author and/or XMetaL® XMAX™. You can view and modify all aspects of an XMetaL customization including XML DTDs or W3C Schemas, scripts and macros, forms, and Cascading Style Sheets (CSS) without having to leave the Visual Studio integrated development environment (IDE). Deployment is made easy by using XMetaL Authoring Customization (XAC) sets.

New features

Visual Studio 15.x - 16.x (2019) support

XMetaL Developer is compatible with Visual Studio 15.x - 16.x, enabling developers to efficiently create and manage XMetaL customizations using a modern IDE with advanced scripting and debugging features including:

  • Integrated Debugging Tools: Offers a powerful debugger for stepping through macro scripts within the IDE.
  • Breakpoints: Supports conditional and data breakpoints to monitor variables and expressions dynamically.
  • Call Stack Analysis: Visualizes the call stack for better context during debugging sessions.
  • The Watch and Immediate Windows enable direct monitoring and evaluation of expressions, variables, and runtime objects.
  • JavaScript/TypeScript Debugging: Enhanced integration with modern browsers for seamless front-end debugging.

XMetaL Developer is compatible with free Visual Studio Community Editions 15.x - 16.x

Visual Studio 15.x - 16.x (2019) intellisense support

Updated format of XMetaL API java script intellisense support is compatible with Visual Studios 15.x - 16.x.

High Dpi (HDPI) displays support

XMetaL's XFT form layout tools, XFT form dialogs, and embedded XFT form components all support HDPI displays.

This ensures that user interfaces are optimized for high-resolution screens, providing crisp and clear visuals, as well as an improved user experience across various display settings.

With HDPI support, the elements within XFT forms automatically adjust to scale properly, preserving the integrity of text, images, and UI components on displays with higher pixel densities.

XMetaL Author and XMetaL XMAX 19.0 support

XMetaL Developer is compatible with this most recent release of XMetaL products and XMetaL API. 

The XMEdge ActiveX control

The XMEdge ActiveX control facilitates bidirectional interaction between XMetaL and Microsoft Edge WebView2 using a subset of the ICoreWebView2, ICoreWebView2Controller, and ICoreWebView2Environment interfaces.

The Microsoft Edge WebView2 control is a powerful development component that enables embedding of the Microsoft Edge (Chromium) browser into desktop applications.

This integration allows developers to leverage modern web technologies (HTML, CSS, JavaScript) alongside XMetaL APIs and scripting capabilities.

The XMEdge ActiveX control can be hosted within the XMetaL Resource Manager, XFT form dialogs, XMetaL Active Document embedded XFT forms, or as a viewer for an image or referenced content.

The XMEdge ActiveX control plays a crucial role in XMetaL, enabling web browsing capabilities and integration with advanced tools such as Grammarly, along with AI assistants including OpenAI ChatGPT, Google Gemini, and Microsoft Copilot.

XMetaL Developer binaries update

The XMetaL binaries have been updated to integrate seamlessly with the latest Windows SDKs and Visual Studio toolsets, ensuring full compatibility with the latest Windows 10 and 11 updates.

These updates include significant security enhancements, optimized installation size and duration, and the incorporation of user feedback to improve overall functionality.

Additionally, the removal of XMetaL's reliance on a specific Java installation enhances security maintenance, provides greater deployment flexibility, and streamlines the overall installation process.

Bug fixes and enhancements

A number of other minor defects, customer-reported issues and enhancements have recently been addressed.

Known issues

Error message appears indicating XMetaL Developer is unable to find executable to launch

Attempting to debug an XMetaL customization may fail with a message indicating an executable to launch could not be found. This is likely due to XMetaL Author being installed on a non-English version of Windows or XMetaL being installed in a non-default location.

To remedy this situation, ensure that XMetaL Author is not running and launch a command prompt with administrator privileges:

  1. Change to the drive letter where XMetaL Author is installed.
  2. Change the directory to where the xmetal.exe is located, for example:
cd C:\Program Files\XMetaL 19.0\Author
  1. Type the following command:
xmetal.exe /RegServer
  1. Go back to XMetaL Developer and start debugging as usual.

Programmer's Guide and Customization Guide installation fails when UAC is enabled

The XMetal Developer installer includes an automated script for integrating the Customization Guide and Programmer's Guide into Visual Studio. This automated script will not complete successfully if UAC is enabled.

To install these guides successfully with UAC disabled, follow these steps:

  1. Launch Visual Studio.
  2. The Help.Add_and_Remove_Help_Content...Microsoft Help View window appears.
  3. Click the Manage Content tab.
  4. Change the Installation source selection to Disk.
  5. Click the [...] button to browse to the location where the XMetaL Developer manifest is installed (typically the C:\Program Files\XMetaL 19.0\Developer\Help\v2.0\helpcontentsetup.msha file).
  6. Click Add action for new entry.
  7. Click the Update button. A popup certificate will appear. Click OK to continue with registration of XMetaL help.

Double-clicking XFT form in Developer project fails to open

Attempting to edit an XFT form by double-clicking the icon in your XMetaL Developer project may display an error message saying "Unable to start XMetaL application. Exiting...". This is likely due to XMetaL Author being installed on a non-English version of Windows or XMetaL being installed in a non-default location.

To remedy this situation, apply the procedure documented here.

Permission denied error message appears after modifying CSS while debugging project

If you modify the CSS file for your XMetaL customization while debugging, XMetaL Author may display an error message indicating it failed to re-read the CSS file. After dismissing the error message, the active document might be redrawn as if no CSS was applied.

To get the document to redraw properly, switch back to Visual Studio and re-save the CSS file. XMetaL Author will reload the CSS and the document's display will be updated properly.

Upgrading old XMetaL Customizations to XMetaL 19.x

When you open an old XMetaL customization in XMetaL Developer 19.x, you are asked if you want to convert the project to 19.x. This conversion, however, has some limitations:

  • XMetaL Developer always attempts to convert projects to XML Document customizations. It does not attempt to convert to application-level customizations or SGML-based customizations.
  • If more than one DTD is encountered in the customization, the first one found is considered to be the DTD for the project.
  • XMetaL Developer 19.0 does not support the "Exclude from Build" property, so after conversion, all items that were in the previous version of the project are built in 19.0.

XMetaL Developer 19.0 is more strict in enforcing many aspects of customizations. In particular, if you had multiple CTM files in your project, the 19.0 build process fails. To rectify this problem, follow the instructions provided in the error messages during build, e.g., remove the extra CTM files from your project (leaving only one) or set the other CTM files' UseAs property to "<not set>" (causing XMetaL Author to ignore these files).

If the conversion process fails, (e.g., if your project is complex) you must re-create the project from existing files. In many cases, this may be a better method of upgrading your XMetaL Developer customizations to 19.0 than attempting to convert.

ShowSpellChecker() fails if Google Toolbar is installed

If XMAX is hosted in Internet Explorer and the Google Toolbar is installed, ShowSpellChecker() may fail.

ActiveDocument.RulesFile returns empty string when debugging

When debugging your XMetaL Developer project, beware that the 'RulesFile' property returns an empty string instead of a path to the rlx/rld file.

Some properties do not work during debugging

If you are debugging scripts in XMetaL Author or XMetaL XMAX from the XMetaL Developer IDE, the property Document.IsValid does not return reliable results. In addition, the property Selection.IsValid may take a very long time to return values, or cause your development system to lock up altogether.

Debugging a customization with an XMAX configuration may cause a memory read problem message

When a customization is configured to use a custom container application written in VB.NET for XMAX when debugging, an error message that states "The memory could not be "read"." is displayed when the custom container application is closed. This error can be ignored. The error does not occur when the customization is built.

Intellisense TM limitations

The i ntellisense functionality is dependent on some automatically generated lines of code that are added to all scripts created inside XMetaL Developer. Do not change any of this generated code, otherwise Intellisense functionality may be lost. This generated code is automatically removed when the MCR files are built and will not be present or affect deployed customizations.

Toolbar limitations

Using a hard-coded number for the CommandBarButton and CommandBarPopup properties named FaceID in a script may produce unexpected results. Scripts should generate these numbers by using CommandBarButton.FaceId=Application.MakeFaceId(strIconSet, longRow, longNum) or
CommandBarPopup.FaceId=Application.MakeFaceId(strIconSet, longRow, longNum)

Rules Maker schema limitations

The Rules Maker only compiles XML and SGML DTDs; it does not compile W3C Schemas.

Sample files require XMetaL Author or XMetaL XMAX

In order to use the sample files that are shipped with XMetaL Developer, XMetaL Author or XMetaL XMAX must be installed.

XMetaL Author freezes when opened during debugging

Occasionally, XMetaL Author freezes when opened during a debugging session. If this happens, stop the debugging session and restart.

Support services

For a list of telephone support offerings, online service options, and support downloads, visit http://na.justsystems.com/support.

To contact XMetaL support directly, e-mail us at [email protected], or telephone us at one of the numbers listed at http://xmetal.com/content-about-contact-us/.