ContentsIndexPreviousNext

QUIT_MODE

This variable has meaning only on graphical systems such as Windows. It gives you control over the "Close" action that appears on the System menu in a graphical environment. (The QUIT_MODE variable is only used with the main application window. All other windows return the CMD-CLOSE event when they are closed.)

Many COBOL programs should not be shut down in an uncontrolled manner. This is especially true of any application that updates several files in a row. If the program is halted after updating the first file but before updating the last, the files are left in an inconsistent state. For this reason, ACUCOBOL-GT allows you to control the Close action.

To do this, you set QUIT_MODE to a non-zero value. The value that you specify affects the Close action as follows:

-2 Disable Close: disables the Close action entirely. The Close menu item appears gray on the System menu, and the user is not able to select it.

-1 Close only on input: the runtime disables the Close action except when it is waiting for user input. This prevents the user from stopping the runtime in the middle of a series of file operations, but still allows the user to quit the application any time that the application is waiting for input.

0 Always Close: the runtime halts the program whenever Close is selected from the system menu.

>0 Program controlled Close: when a positive value is used, the Close item becomes a standard menu item with an ID equal to the value of QUIT_MODE. You may then handle the Close item just like any other menu item.

For example, if you set QUIT_MODE to "100", then your program receives exception value 100 when the user selects the Close item. If you wanted to call a special shutdown program when the user selected Close, you could assign the Close action to a hot-key program:

MENU_ITEM  Hot_Key ="shutdown"  100

In this example, the "shutdown" program might pop up a small window to confirm that the user wanted to exit and, if so, do a STOP RUN.

If you start your program in "safe" mode with the "-s" runtime option, then QUIT_MODE is initialized to "-2" instead of "0". This prevents the user from using the Close menu item. A QUIT_MODE entry in the configuration file takes precedence over the default handling of "-s".

If a user attempts to end the Windows session when it is not allowed, a pop-up message box asks the user to terminate the application first. You can customize the message that appears in the box by setting the TEXT variable, message number 18.