This wiki has undergone a migration to Confluence found Here

RMIM Designer (Visio) on 64-Bit Systems

From HL7Wiki
Jump to navigation Jump to search

Background

The Visio RMIM Designer uses a couple of critical sets of common controls - the "Microsoft Common Dialog Control" (comdlg32.ocx) that supports searching for and saving files; and the "Microsoft Windows Common Controls" (mscomctl.ocx) that provides a structured list view, management of image (icon) lists, tree views, etc. Any Visio environment that does not provide and support these controls will be unable to support the HL7 RMIM Designer. Note: Both of these control sets were produced by Microsoft as part of Visual Basic and became foundation elements of VBA beginning before 2000. They have become critical components of myriad software solutions in corporations that have used VBA to enhance core Microsoft Office applications such as Access, Excel, Word and Visio.

In a white-paper on the capabilities of 64bit Office vis-a-vis 32bit Office, Microsoft (in introducing Office 2010) made it clear that while these controls will continue to be part of the 32-bit Microsoft Office products, they will not be available from Microsoft as part of the 64-bit Office Products. Specifically, Microsoft says:

"An alternative must be found for existing Microsoft Office VBA solutions that utilize these controls when the code is migrated to 64-bit Office 2010. 64-bit Office 2010 does not provide 64-bit versions of the Common Controls."

Tested Solution/Workaround for Today and Near Future

In testing, it was found that it is not possible to install 32-bit Visio 2010 along side 64-bit Office 2010. This arises because the Office applications have a set of shared components, including the VBA engines.

As a consequence, a user must either:
  • Install 32-bit Office 2010 in order to use Visio 2010 on a 64-bit operating system (tested on Windows 7); or
  • Install a different, 32-bit release of Visio (such as 2007) alongside 64-bit Office 2010. (tested on Windows 7).

It is likely that this duality will continue in Office 2013 (I have already installed a 32-bit Visio 2013 in a test environment), but note that a new cloud-based Office (365) is now being offered by Microsoft, as well.

Revising RMIM Designer to Avoid the Common Controls

While it is possible to re-program the RMIM Designer to circumvent these issues the effort to undertake this has not been allocated. A review of where these controls are used reveals:

  • Common Dialog (comdlg32.ocx)
    • used to browse for and process lists of files;
    • can be replaced by code that links to the same function in the operating system (never tested here)
    • Within RMIM Designer is used in
      • BatchTask
      • ErrorDiaplay
      • ModelSelector
      • VocabDisplay
  • Common Controls (mscomctl.ocx) - TreeView
    • used in CloneEditor to displaying and select attribute Data types in hierarchy (not Easy to find a substitute)
    • exists one commercial solution, but that poses issues of licensing for general HL7 distributions
  • Common Controls (mscomctl.ocx) used in VocabDisplay
    • Might be replaceable with a simple API into RoseTree (untested, but which would also address problem with Visio 2013)
    • Uses TreeView to Display Vocab elements in hierarchy
    • Uses TabStrip to manage the Display panes
    • Uses ImageList to manage icons for TreeView nodes