Logo

Hacker’s Guide to Visual FoxPro
An irreverent look at how Visual FoxPro really works. Tells you the inside scoop on every command, function, property, event and method of Visual FoxPro.

Sys(602)

This function returns the value of the BITMAP setting in FoxPro’s configuration file (Config.FPW).

Usage

nSetting = SYS( 602 )

The usual way for FoxPro to draw screens is to update an off-screen bitmap, then transfer the bitmap to the screen using bit-block (bitblt) transfers. This method of painting the screens results in nice, smooth, snappy screen refreshes.

However, when using FoxPro remotely, such as from Microsoft Terminal Server, this method causes an avalanche of screen data to be dumped down the wire, bringing performance to its knees. Consequently, in VFP 6 Service Pack 3, the development team added an option to turn off this capability. Setting BITMAP = OFF in Config.FPW turns off this screen-draw technique, and can improve performance when accessing FoxPro applications remotely. Leave the BITMAP setting in its default ON setting for standard applications and COM servers.

SYS(602) returns the setting of the BITMAP keyword in Config.FPW. It returns 0 if it’s OFF, or 1 if it’s ON, which is the default.

Certain writes to the screen, particularly output from the ? command or drawing methods such as Line, Circle and PSet, are not refreshed when new screen data is sent down to the terminal, such as when another window is selected, and then control returns to the original window. Avoid these commands when working in a terminal server environment. While we here at Hacker Labs don't have a terminal server to test this, we think you might be able to work around some of the problem by issuing these screen writes in the Activate event of the form.

Example

* You might use this command to avoid the screen display
* situation presented above.
IF SYS(602) = 1
  ? "We can write to the screen!"
ELSE
  WAIT WINDOW "In Terminal Server display mode."
ENDIF

See Also

?, Circle, Configuration files, Line Method, PSet, Sys()