Introduction Extended Drivers

Introduction

In addition to supporting the window functions, the CTUS.LIB extended
 driver contains a series of independent functions, all of which are
 described in this chapter.
We are concerned here with functions that relate directly to Clipper
 keyboard input, screen and printer output, or other internal functions.
 To use these internal functions, the driver must be linked in. The use
 of CTUS.LIB does not mean that all the code for all the functions
 contained in CTUS.LIB is linked to your application. An intensive
 modularization effort causes RTLINK to link only those portions that are
 actually needed.

The Use of CTUS.LIB

The extended driver is delivered as an .OBJ file (CTUS.OBJ) to allow
 replacement of the Clipper driver module in CLIPPER.LIB during
 linking. The extended driver must be included in the list of object
 files.

Video Modes

Some functions which relate to screen adapters are found in the Video
 Modes chapter rather than in the Video Functions chapter.

Changing Modes

Some settings are reset by a mode change:
Cursor position to: Line 0, Column 0
Screen page 0: SETPAGE()
All font information: SETFONT(), FONTLOAD(), FONTSELECT()
All palette information: EGAPALETTE(), VGAPALETTE()
Border settings: SET COLOR TO

DSETWINDOW()/External Screen Output

This is a very important switch for Clipper Tools that impacts many
 functions and other modules. DSETWINDOW() determines whether or not the
 output of external programs or modules is redirected to a window.
 (Clipper Tools functions are considered "external").
The default setting for this switch (.T.) redirects the output. To make
 this possible, the driver changes the interrupt vector 10H. Under
 certain circumstances external programs will not accept changes in
 particular interrupt vectors, which is why you must call DSETWINDOW(.F.)
 before you call the RUN function.
Certain other functions, like ISANSI() or NUMCOL(), return false or
 differing values in conjunction with DSETWINDOW(). Pay attention to the
 accompanying notes in the function descriptions.

System Settings Are Saved

When you end an application under Clipper's control (normal program
 termination, Alt-C, or ending after a Clipper error message), the
 cursor type, color attribute, and interrupt vectors 0 to 127 are
 restored.
However, if you exit a program in any other way (usually with an
 external module containing errors) then the extended driver system
 settings cannot be restored. Previously changed interrupt vectors are
 probably still changed, which sooner or later result in a system crash.
 If this occurs, reboot as soon as possible.

The QUIT File

A QUIT file can be added to any of the extended driver functions. The
 QUIT file provides information at the next program start as to whether
 the previous run ended correctly. Additionally, the user's keyboard
 input is also recorded.

The default name for this file is the same name as your Clipper
 program except that it has a .Q extension instead of a .EXE extension.
 However, you can select another name for the file. For more
 information, please see DSETQFILE(), DSETQNAME() and KEYREAD().

Note: 

  Since this section is about DOS-TEXT mode programming, considered as obsolete and details 
skipped.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.