3. Upgrading from OpenROAD 3.5 : Phase 2: Convert the Applications : Known 3.5 Issues to Resolve : Platform Related Issues
 
Share this page                  
Platform Related Issues
The following issues are related to operating system platforms.
Cursession.WindowSystem
You need to consider this issue only if your application runs on both UNIX and Windows platforms, and uses CurSession.WindowSystem (rather than CurSession.OperatingSystem) to determine the operating system. The correction involves three lines of code.
ISSUE: In versions of OpenROAD since OpenROAD 4.0, the CurSession.WindowSystem setting for UNIX platforms is set to WI_MSWIN32, not WI_MOTIF, reflecting that OpenROAD is running on a pseudo-Windows environment—Mainsoft—rather than on UNIX itself, so that the features available to it will be "Windows" ones. Developers who want to determine whether they are hosted on UNIX use the CurSession.OperatingSystem setting to look for SY_UNIX.
However, some OpenROAD 3.5 applications deployed to both UNIX and Windows platforms have tested CurSession.WindowSystem for a WI_MOTIF setting rather than testing CurSession.OperatingSystem for SY_UNIX. This will not work when they are converted to the current release of OpenROAD.
RESOLUTION: Because of this, in the current release of OpenROAD (but not OpenROAD 4.x) the CurSession.WindowSystem attribute is ReadWrite, and can be reset in the code from WI_MSWIN32 to WI_MOTIF when the application starts. Thereafter, any code that tests CurSession.WindowSystem will distinguish a Windows host from a UNIX host.
To ensure that CurFrame.WindowSystem identifies UNIX operating systems as UNIX
1. In OpenROAD Workbench, open the starting component of your application and edit its script.
2. Immediately after the "begin" (or "{") statement of the initialize or procedure block, insert the following three lines of code:
IF CurSession.OperatingSystem = SY_UNIX THEN
CurSession.WindowSystem = WI_MOTIF;
ENDIF;
3. Save and close the component.
Fonts in Mixed UNIX/Windows Environments
If you want your converted applications to display the same way (as closely as possible) on both UNIX and Windows, read this section.
ISSUE: The available UNIX fonts differ in slight but discernible respects from their Windows counterparts.
RESOLUTION: You can use II_FONT_FILE to ensure that your UNIX application uses the same font definitions as your Windows application, but the TF_SYSTEM fonts will not map well.
To display fonts on UNIX as closely as possible to the Windows display
1. Set II_FONT_FILE to point to the default font file (appedtt.ff), or the version of it that you are using on Windows.
2. Change the TF_SYSTEM setting in your choice of font file from “MS Sans Serif” (which maps poorly on UNIX) to “arial”.
If you still experience problems, read Actian Knowledge Document 272124 (https://servicedesk.actian.com) for further suggestions (https://servicedesk.actian.com).