Home Forums General XMetaL Discussion XMetaL 11 forms Reply To: XMetaL 11 forms

Derek Read

Reply to: XMetaL 11 forms

Here's a bit more history and information on this topic to capture it in a relevant discussion (in case the people that remember these things get hit by a bus 😉

The .hhf file format was deprecated in 2003 when XMetaL Developer was first introduced. A new editor was provided with XMetaL Developer that saves forms in a different format with an .xft file extension. This information was included with the XMetaL Developer 4 documentation. If an .hhf file needed to be altered the only supported option was to recreate it in the .xft format. You could continue to develop .hhf files using XMetaL 2 or 3 and use them with XMetaL Author 4 and up, but clients approaching XMetaL Support that had issues with the old .hhf format have been encouraged to move to the new .xft format. XMetaL Support has not provided support for .hhf file format since 2004.

If you really feel stuck to the point where you want to try to continue to use .hhf Microsoft has some information on the FM20.dll here: https://support.microsoft.com/en-us/kb/224305
A link on that page directs you to a different location where you can find an installer that Microsoft claims also installs the FM20.dll.
In theory, once you install FM20.dll the .hhf file format should work (but no guarantees).

When “ActiveX Control Pad” was being installed as part of XMetaL 2 and 3 the information Microsoft was providing about it at the time was  quite different from what that page states now. They encouraged developers to use it in their own applications, web pages (IE), as part of MS Office customizations, and to distribute it freely. I cannot find Microsoft's webpage that first informed 3rd party software makers they would no longer be able to distribute the ActiveX Control Pad with their software, but I believe it was around 2008. I think we released at least one version of XMetaL Author that gave you a choice to download and install ActiveX Control Pad from the Microsoft website as part of our installation. It directed you to a specific Microsoft web page where Microsoft was still encouraging people to use the control. At some point we assumed everyone had moved on to using .xft and because Microsoft kept moving that webpage around we removed this option from our installer.

There is no guarantee Microsoft will not change their current stance on the fm20.dll in future. In that case you might be limited to copying it from one legacy machine to another and manually registering it. I'm not sure if Microsoft would consider that legal use of the control. They might frown on that if it is included with other software they are selling.

The XMetaL development team doesn't plan to specifically remove support for .hhf forms from XMetaL Author in the future but if .hhf stops working it will most likely be due to something external (perhaps a new Microsoft compiler will not be able to deal with our old code that drives it, or there might be a conflict with other new code we consider more important, etc). In that case it is unlikely we would try to restore it. We also would not notice unless a client pointed it out because we have not tested .hhf since 2003.

The built-in list of controls in the .hhf editor probably varies slightly from the list included with .xft (I don't have an old XMetaL 3 readily available to check) but all the controls most people might want should be there in .xft (plus a few weird ones). XFLayout (the .xft editor) includes a ListBox control as one of its standard controls. It might have different property names and events from the one included with XMetaL 2 and 3 (.hhf) but it has very similar functionality. (If it looks and acts like a ListBox…?) XFLayout includes the following controls:

Text called a “label” in VB and similar environments
CheckButton usually called a CheckBox in other environments
EditBox called a “TextBox” in VB and similar environments
MultiEditBox an EditBox that supports multiple lines of text
DataSource links a data source to a form using [url=http://windows.microsoft.com/en-us/windows/using-odbc-data-source-administrator]Windows DSN
Line draws single straight lines at any angle
Polyline identical to 'Line' (not much point to this one)
Freehand draws a 'freehand' line of any shape
Border draws rectangular shapes
Arc draws portions of ellipses and circles
Ellipse draws ellipses and circles
Frame draws a rectangle that includes a text label at the top, called a GroupBox in VB and similar environments
Bitmap displays bitmap images
Hilite draws rectangular coloured shapes without a border

It is also possible to add any standard ActiveX control to an .xft form that can be added to a .hhf form (even including complex controls like the Microsoft WebBrowser control). You just need to add the control to the list of tools in the toolbox. To see a list of all ActiveX controls installed on your system right click in the toolbox in the .xft editor and select “Add control” and select the control you want to make available. Most controls that Microsoft installs (either with Windows or as part of their other software) start with either “MS” or “Microsoft”.