Portability Concerns

The ACUCOBOL-GT runtime supports menu handling. If the host system has its own menu system (such as Windows), the runtime system's menu handler calls the system's menu handler. If the system does not have its own menu handler (such as systems that use character-based terminals), the runtime system supplies its own menu handling.

This implementation causes the look-and-feel of the menus to differ from system to system. This is an advantage in that you can program for a single menu handler while getting a native look-and-feel on each host system. However, some host menuing systems may not support all features identically. The more you know about possible differences in the hosts' menu handlers, the more informed your programming decisions can be. Here are some issues to be aware of while programming:

  1. How the user selects key letters will vary from system to system. The appearance of the key letter in the menu may vary from system to system. In Windows, it appears underlined. In the run-time system's own handler, the appearance is configurable.
  2. If no key letter is supplied, the implied key letter is system-dependent. Under Windows, Windows NT, and the runtime system, the first letter of the text acts as the key letter. Other systems may use some other rule or may not supply any key letter.
  3. The method by which the user activates the menu is system-dependent. If you want to use the same method on all systems, define one or more menu keys in your program. For more information, see the Menu Activation and Use.
  4. Some systems may limit the number of items that appear in the top-level menu. Under the runtime system's own menu handler, the top level is limited to the number of items that can be displayed in one line. Also, a submenu may not have more items than fit in a single column (minus the top line).
  5. If you plan to run the same program under both graphical and character-based systems, remember that the menu bar will occupy space on the terminal. Under graphical systems such as Windows, the menu bar is placed outside of the application's virtual screen. On a character-based screen, the menu bar resides on the top line, thus removing one line from the application.

    ACUCOBOL-GT's Terminal Manager adjusts all the coordinates as needed, but your program will have one less line to work with. Note, however, that you can configure the menu bar to pop up over the top line of the application when the menu is requested by the user. This will result in the full screen being available to your application, although the menu bar will be visible only when the user requests it.

  6. Pop-up menus (which appear in a vertical orientation over the application window and disappear after the user makes a selection) are currently available only under Windows systems. They may be added to other systems in future releases.