A Homepage for MSM-Workstation

Started: 15th December 1998
Last Updated: 3rd February 2004

Comments to John Murray please. Thanks to George James Software for hosting these pages. Please show your appreciation by visiting the GJS site.

What is MSM-Workstation?

In brief, it's an implementation of ANSI Standard M that runs on Microsoft Windows 95, Windows 98, Windows NT 4.0 and Windows 2000. As well as implementing most of X11.1-1995 (the M language) it also implements the M Windowing API (MWAPI), integrating with the GUI facilities of its host environment. Developed by Micronetics Design Corporation, version 2.0.0 was released to the world shortly before the MSM product line was acquired by InterSystems Corporation.

Where can I get MSM-Workstation from?

ftp://ftp.intersys.com/pub/msm/MSMWS20.ZIP is a 19Mb zip containing the distribution. Preserve directory structure when you unzip it, then look at the top-level README. Bear in mind that nothing in the package has been updated since it was first released in May 1998. The product was transferred from Micronetics to InterSystems as part of the MSM acquisition in June of that year, so references to Micronetics support arrangements are obsolete. I don't think you can purchase a support contract for it from InterSystems. I've also heard mixed reports about the ease (or otherwise) with which InterSystems are prepared to sell the keys that turn the product from Unregistered to Registered mode, eliminating the nag-screen on end-user EXEs.

And if it doesn't do just what you want...

... InterSystems offer to let you have the sources from which the development tool, MSMWS.EXE, is built. Remember, this EXE is itself built using Workstation. So if you want to enhance the development environment, fix bugs in the action logic compiler, or simply change the toolbar, you can. More information is located at http://mtechnology.intersys.com/mproducts/msm/msmcode.html

Hints and Tips

How to invoke the methods of an ActiveX control

How to use DDE

How to keep Sources in host files

Why are ActiveX controls missing from the list?

Why do I see <DKFUL> errors when there's plenty of space in my development database?

Why is a selected ActiveX control missing from the Create Controls\ActiveX menu?

Running Workstation on Windows 2000 (may also apply to XP systems)

How to scroll a window automatically

Missing text in DOCUMENT gadgets of small height

Getting the UserName (an example of calling a Windows API function)

Reducing a list's choices as you type

Launching your web-browser

Colour values for ActiveX controls

Patches, Updates etc

1998C18A
If the list of controls on the Tools/ActiveX Controls dialog has no scrollbar, you probably need an updated version of the SftTree/OCX control. Download this self-extracting EXE (189 KB) and follow the instructions in its README.

MSMDEV.DLL
This updated DLL corrects two problems:

  1. Certain ActiveX controls, for example ones built with Visual Basic 5 and set not to require a design-time license, would operate correctly at development time but could not be attached to the EXE at Make-EXE time.
  2. A case was observed where a very complicated application could be made into an EXE on Windows 9x but not on Windows NT. Download the DLL and use it to replace the copy you find in Workstation's Program directory.

Thanks to InterSystems for permission to publish it here.

MSMWS002.DLL version 2.0.0037 (MSM-Workstation , Version 2.0.0a)
Click here to fetch a ZIP containing the new DLL and a README. The DLL corrects two problems:

  1. Certain ActiveX controls, for example ListPro 2.1 from FarPoint, would fail to initialize from a WS-built EXE.
  2. The CLOSE command on a serial com-port device (11 to 18) would sometimes hang indefinitely. The symptom was frequently observed when the device in question was an internal modem.

Consult the README for installation instructions. Thanks to InterSystems for facilitating the corrections, and for permission to publish the update here.

Tools and Samples

MakeDLL (217Kb)

This Workstation-built tool was kindly contributed by Anthony F. Lumsden (makedll@lumsden.org). It lets you create a resource-only DLL containing the .BMP, .CUR or .ICO resources that your own app uses. Then you distribute the DLL you've made instead of shipping a bunch of separate image files. Nice!

To install it, simply download the EXE and put it in your Workstation installation's Program directory (e.g.C:\Program Files\Micronetics\MSMWS\Program). I'm sure the author will be pleased to hear your feedback.

Cursor (5Kb) 13th June 2002

This ZIP contains a DLL created with the MakeDLL tool (see above) and a VEX of a window that illustrates how to use cursor resources to spice up the pointers in your apps. It was kindly contributed by Gustavo Oliveira (lg_oliveira@yahoo.com.br).

Other resources

Here are a couple of PowerPoint presentations I gave at MTA-Europe's October 1998 meeting in Brussels, Belgium. Follow the links to view them on line and/or download the PPT files

MSM-Workstation Survey

The Pieces of MSM-Workstation

Chris Bonnici featured an number of Workstation articles in the now-defunct "M Web Magazine". Back-issues are accessible from his homepage at http://www.geocities.com/SiliconValley/7041/

James Hay's site at http://home1.gte.net/albqhay includes information about his book, "Reference MWAPI", along with other WS-related stuff.

Micronetics' forerunner MWAPI product, MSM-GUI, was an add-on to MSM-PC/PLUS. MSM-GUI shipped with printed manuals, and at the time WS2 was released some of this documentation had started to make the transition to a .HLP file. This didn't make it through Micronetics' documentation department before WS2 shipped. Now a preliminary build has turned up, and you can fetch it in a 236Kbyte ZIP from ftp://ftp.intersys.com/pub/msm/workstation/msmwapi1.zip or download it here - thanks to InterSystems for permission to include it at my site. It might come in handy for those of you who work at the MWAPI level of WS2. Remember it might be inaccurate, and is certainly not complete.


Update History (latest first)

3rd February 2004: New email address for Anthony Lumsden
1st September 2002: Added Henk Westerhof's "colour values" contribution
13th June 2002: Added the Cursor sample
11th November 2001: Added "Launching your web-browser"
5th March 2001: Added more info to "Why are ActiveX controls missing from the list?" and "Running Workstation on Windows 2000"
28th February 2001: Added "Reducing a list's choices as you type"
14th February 2001: Added "Getting the UserName (an example of calling a Windows API function)"
11th July 2000: Updated the download information
28th June 2000: Two new tips contributed by Michael Volke about window scrolling and document sizing
18th June 2000: Special note about absence of files at InterSystems' FTP site; MakeDLL tool added
25th March 2000: New tips about missing ActiveX controls and running Workstation on Windows 2000
6th January 2000: Added download for fixed MSMWS002.DLL
29th October 1999: Added download of MWAPI helpfile
6th July 1999: New tip about <DKFUL>
25th June 1999: Added link to download fixed MSMDEV.DLL; new tip "Why are ActiveX controls missing from the list?"
23rd June 1999: Added "How to keep Sources in host files"
30th April 1999: Updated some links following InterSystems' website reorganization
14th April 1999: Added "How to use DDE"; linked to James Hay's site; added section about source availability
18th January 1999: Added first item to new "Hints and Tips" section
18th December 1998: Added download for updated SftTree/OCX
18th December 1998: Made PowerPoints available as HTML as well as for download