Limitations Under the Windows Operating System

Some of the capabilities available under MS-DOS versions of PRO/5 are not available to Visual PRO/5. The following paragraphs give detailed explanations of the differences.

Keyboard

Microsoft Windows uses the Alt key a great deal. It is needed for accelerators and other Windows features. Visual PRO/5 also uses the Alt key in this way, with the help of Windows. However, it is not possible to allow the detection and loading of Alt+F1 through Alt+F10.

Close Box

Visual PRO/5 should not exit when the terminal window is closed. An application could be stopped in its tracks, perhaps in the middle of writing critical data to a file. Therefore, closing the window (double-clicking in the close box) simply interrupts the currently executing program, and can be trapped with SETESC. The key sequence Ctrl+C or Ctrl+<Break> does the same thing, and by requesting the TCB(19) value it is possible to distinguish the key sequence from the close event. (Note that if you are using Windows 95 Ctrl+<Break> will not work. You must use Alt+F4 instead.) Full GUI applications developed with Visual PRO/5 can exit in response to the operation of their Close box.

Drivers

Microsoft Windows makes extensive use of "drivers," which are interface programs designed to make external devices conform to Windows standards. This means that Visual PRO/5 will work with printers and display boards not yet invented. It also means that sometimes a problem involving our product and an external device may be the fault of the manufacturer's driver.

If a driver is at fault, we cannot repair it, because it is not our product. A good way to determine whether a particular problem is due to a faulty driver is to repeat the experiment with another driver. For example, you could attempt to duplicate a printing problem on a different type of printer, or operate your display in standard VGA mode temporarily to see if a graphics anomaly remains.

Operating System Commands

On every operating system supporting PRO/5, wherever possible, PRO/5 provides a way to run operating system commands. This is done with the ! verb or the SCALL() function. Of course, operating system commands are not written in PRO/5, and by their very nature, are non-portable. In spite of the fact that Microsoft Windows is, in effect, "hosted" by MS-DOS, it is an operating system in its own right, with its own sets of rules. Because Visual PRO/5 runs under the Windows operating system, ! or SCALL() is communicating with Windows, and not MS-DOS.

It is possible to execute any Windows or DOS executable file (.com, .exe, .bat, .pif, and the like) from Visual PRO/5. Windows can automatically determine whether the file in question is a DOS or Windows executable. However, only the .exe extension is supplied by default. If you wish to run a .com or .bat file, you must specify the extension. The directories enumerated in the PATH environment variable are searched.

DOS-intrinsic commands (DIR, COPY) are not directly implemented in executable files (they're built in to the command interpreter). You must enter a line like this: !c:\command.com /c dir to do a DIR command.

Windows PIFs (managing the execution of DOS programs from a window) are fully supported. In many cases, these are essential to force DOS commands to execute in a window, and to prevent the window from vanishing before its contents can be read.

Visual PRO/5 supports two types of system calls: synchronous and asynchronous. Normally, Visual PRO/5 waits for the system call to complete (synchronous behavior). If you wish to launch another application and have Visual PRO/5 continue to execute, you must add an ampersand ("&") as the very last character in the command string to select asynchronous behavior.