home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Simtel MSDOS 1992 June
/
SIMTEL_0692.cdr
/
msdos
/
desqview
/
api_exam.arc
/
API.DOC
next >
Wrap
Text File
|
1988-10-01
|
15KB
|
335 lines
Introducing DESQview 2.0 API Tools
Bringing new power to DOS.
For us, it's an unveiling of pleasure.
In the DESQview 2.0 view of the world there are three kinds of DOS
programs.
There's the DESQview-oblivious program, such as 1-2-3 or AutoCAD, written
with no consideration of DESQview, but still compatible with DESQview.
There's the DESQview-aware program. It has been modified slightly
so that it runs efficiently in DESQview and concurrently with other
programs. Paradox, dBASEIII, and WordPerfect are DESQview-aware.
Then there's the DESQview-specific program, like the DESQview Datebook.
It's written to take advantage of DESQview's power. We've kept the
knowledge of how to write DESQview-specific programs under wraps too
long. But if you look closely, you'll discover DESQview 2.0 behind
ICL North America's point of sale system, MCI International's communication
workstation, and Strawberry Software's market research program, A-Cross, to
name only a few.
For you, a cornucopia of treasure.
Hidden deep inside DESQview 2.0 is a powerful API (Application Program
Interface) that lets programs control and interact with DESQview and
with other programs running in DESQview. For MIS and DP departments
building workstation solutions, the DESQview 2.0 API provides enormous
benefits. For it brings OS/2 capabilities (and even OS/2 look and
feel if desired) to DOS.
Using the DESQview 2.0 API, a program can use all the DESQview 2.0
menu functions available to the user as well as the power-packed capabilities
built into DESQview--multitasking, windowing, intertask communications,
mailboxes, shared programs, memory management, mousing, data transfer,
menu-building, and help.
So DOS programs can now act alone or together. Either within a window
or hidden behind one, they can do chores in silence or in chorus,
all the while utilizing the full power of DESQview, all the while
bringing you treasures you only dreamed 'til now were possible.
The inner power of DESQview
A program taking advantage of the DESQview 2.0 API can display information
in windows and control the color, dimensions, position and ordering
of windows on the screen.
It can disable, limit or enhance the standard DESQview user interface.
Which means that you can have DESQview-like menus in your program.
Or menu bars and pull-down menus. Or IBM SAA-like menus.
It can let DESQview handle all keyboard and mouse input to menus and
forms--yet still process keyboard and mouse input directly when necessary.
It can schedule processing after a certain time interval or at a certain
time. It can spawn subtasks for performing background operations such
as printing, recalculating, and communicating. It can communicate
between the various tasks in the system.
Multitasking
DESQview supports true multitasking of existing DOS programs in addition
to programs written specifically for DESQview. So a user can run multiple
programs (Lotus 1-2-3, dBASE III and others) and DESQview-specific
programs (DESQview Datebook, Calculator, your own program) concurrently.
So a user can switch to whichever program needs input and switch
away while the program recalculates or sorts in background.
Under DESQview, each program runs in its own "virtual machine", thinking
it has exclusive access to DOS, the keyboard, etc. DESQview calls
these virtual machines "processes".
DESQview calls the portion of a process that keeps track of which
instruction to execute next and what the register contents are a
"task" (or "thread"). Every program running under DESQview consists,
initially, of a single process running a single task.
DESQview-specific programs may create additional tasks within their
own processes and additional processes. Additional tasks allow a portion
of your program, the part that controls the printer for example, to
be run in background. Additional processes allow whole new programs
to be loaded and run concurrently.
Presentation Management
Because DESQview lets you run more than one program at a time, DESQview
provides a way to view more than one program at a time on the screen. DESQview
does this by mapping each program into its own "window" and by managing
the display of multiple windows on the screen.
To DESQview, windows are rectangular areas of displayable information.
They may be moved, resized, colored, and reordered by either the user
or by your program. Everything that is displayed on the screen under
DESQview is displayed in a window.
Multiple windows are not only useful for displaying several programs
simultaneously, but may also be used within a single program to display
menus, help screens, error messages. DESQview provides facilities
for storing complete descriptions of such windows, (known by DESQview
as "panels"), on disk or in your program and displaying them with
a single call to the API. These panels may be as simple as one-line
error messages or as complex as data entry forms with multiple-choice
and data entry fields.
Once a panel has been displayed, your program can ask DESQview's "field
manager" to process all user input to the panel including mousing
and data entry editing. The field manager returns the results to your
program in a simple, field-oriented format, independent of the appearance
of the panel.
The use of panels and the field manager not only simplifies the job
of programming an application, but gives a consistency to the user
interface that makes the learning of new applications easier.
Intertask Communications
So that DESQview-specific programs can rapidly exchange information,
DESQview provides a wide range of intertask communications facilities.
These facilities allow several concurrently running tasks to exchange
information or signals, to lock access to common resources, to share
common code and data, and to interrupt each other to handle critical
events. These tasks can be in either the same or in different processes.
Intertask communication is the key to building complex applications
in a multitasking environment. Let's say, for example, you are building
a point of sale system, that handles a dozen cash registers for a
department store. Using DESQview you could break your application
up into fourteen tasks; one for each of the cash registers, one to
handle access to the pricing data- base, and one to track sales and
generate management reports. The cash register tasks would process
keystrokes from the clerk until an item price is needed. They would
then send a message to the database task requesting the price. The
database task would log the sale and return the price to the sender
of the request. Meanwhile, the store manager could interact with the
reporting task to monitor sales, clerk performance, etc.
Data Transfer
DESQview supports two types of user-initiated data transfer. The first
type, called Mark and Transfer, lets a user mark text in any window
and transfer that text to any other application. The application receiving
the data can be DESQview-oblivious, seeing the data as normal keyboard
input.
More sophisticated transfers are possible between DESQview-specific
applications that support the DESQview Scissors command. When the
user marks data in such an application, DESQview notifies the application
that data has been requested and lets the application determine exactly
what data to supply. The application may supply anything including
text, formulas, or even graphics images. When the user instructs DESQview
to Paste the data into another application, that application is also
notified so that the data can be handled appropriately.
The applications involved in a Scissors transfer can even use DESQview's
intertask communication facilities to setup a "hot-link" between themselves
so that subsequent changes to the data are automatically reflected
in both applications.
Memory Management
Programs running under DOS are typically given all of a PC's memory
to do with as they please. In a multitasking environment, memory must
be managed so that more than one program can be loaded at a time and
so that no single program is given more memory than it needs. DESQview
provides this management in a way that adapts to the type of memory
hardware available on your PC.
If your PC has 640K of conventional memory, DESQview is able to multitask
as many programs as will fit in memory at the same time. Additional
programs can be loaded but will cause the least recently used programs
to be suspended and swapped to disk to make room in memory for the
new ones.
If you have EMS 3.2 (Lotus-Intel-Microsoft Expanded Memory), DESQview
will swap programs to expanded memory instead of to disk. This is
so much faster than swapping to disk that the swap time is almost
not noticeable.
If you have EMS 4.0 or EEMS (AST-Quadram-Ashton Tate Enhanced Expanded
Memory) or a 386-based PC with an EMS 4.0 driver, DESQview can actually
multitask as many programs as will fit in conventional and expanded
memory. This can be as high as 32-Megabytes worth of programs. DESQview
can also run a large part of itself in expanded memory, giving a much
larger maximum program size.
Customization
Although DESQview is best known for its ability to run off-the-shelf
software concurrently, DESQview is an ideal platform for developing
customized vertical market applications and workstations. In addition
to providing multitasking and windowing services, DESQview can be
customized to provide the user interface appropriate to a particular
application.
This customization can take the form of restricting access to certain
DESQview menus, taking special action when certain menu items are
selected, or, in the extreme, disabling all access to DESQview menus
and providing the entire user interface as part of the application.
In this latter case, the only part of DESQview that the user sees
is a copyright screen during start-up.
Portability
DESQview with its entire API runs on 8088, 8086, 80286 and 80386 PCs
as well as the IBM Personal System/2s. This means that an application
that you write to be DESQview-specific can run on any PC from a laptop
dual-floppy PC to the very latest 386-based PC. It can even run over
a network on a diskless PC. Thus, the market for your DESQview-specific
application extends to the entire base of existing and future DOS PCs.
DESQview 2.0 API Tools
Quarterdeck is developing a full set of tools to assist developers
in creating DESQview-specific programs and workstations. The first
five of these tools are:
DESQview API Reference Manual
This is the primary source of information about the DESQview API. It
contains all you need to know to write assembly language programs
that take full advantage of DESQview's capabilities. The Reference
manual comes with an include file containing symbols and macros to
aid you in development. AVAILABLE NOW!
DESQview API C Library
The DESQview API C Library provides C Language interfaces for the
entire set of API functions. It supports the Lattice C, Metaware
C, Microsoft C, and Turbo C compilers for all memory models. Included
with the C Library package is a copy of the API Reference Manual and
source code for the library. AVAILABLE NOW!
DESQview API Pascal Library
The DESQview API Pascal Library provides Pascal Language interfaces for the
entire set of API functions. It supports the Turbo Pascal 4.0 and 5.0
compilers. Included with the Pascal Library package is a copy of the
API Reference Manual and source code for the library. AVAILABLE
OCTOBER 88
DESQview API Debugger
The DESQview API Debugger is an interactive tool that enables the
API programmer to trace and single step through API calls from several
concurrently running DESQview-specific programs. Trace information
is reported symbolically along with the program counter, registers,
and stack at the time of the call. Trace conditions can be specified
so that only those callls of interest are reported. AVAILABLE NOW!
DESQview API Panel Designer
The DESQview API Panel Designer is an interactive tool to aid you
in designing windows, menus, help screens, error messages, and forms.
It includes an editor that lets you construct an image of your panel
using simple commands to enter, edit, copy, and move text as well
as draw lines and boxes. You can then define the characteristics
of the window that will contain the panel, such as its position, size,
and title. Finally, you can specify the locations and types of fields
in the panel.
The Panel Designer automatically generates all the DESQview API data
streams necessary to display and take input from your panel. These
data streams may be grouped together into panel libraries and stored
on disk or as part of your program. AVAILABLE OCTOBER 88
DESQview API Pulldown Menu Manager
The DESQview API Pulldown Menu Manager is an interactive tool to aid
you in designing pulldown menus. This DESQview API tool assists you
in giving your DOS program an OS/2-like look and feel.
System Requirements
Personal Computers: IBM PC, PC-XT, PC-AT and Personal System/2
and 8088-, 8086-, 80286-, 80386-based personal computers that are
100% compatible with the IBM Personal computer.
Video Displays: monochrome, color graphics (CGA), enhanced color
graphics (EGA), video graphics array (VGA) of the IBM Personal System/2,
Hercules Memory; available separately: Micro Display Systems Genius
video driver
640K memory recommended
Expanded Memory (optional): Intel AboveBoard and compatibles (EMS 3.2)
Expanded Memory Specification 4.0 and Enhanced Expanded
Memory (optional): AST RAMpage and EMS 4.0 boards; recommended for
power users wishing to multitask beyond 640K or to run programs larger
than 435K
Disk: Two diskette drives or one diskette drive and a hard drive
Mouse (optional): PC Mouse, IBM Mouse, Microsoft Mouse and Microsoft
Mouse compatibles
Communication port (required for DESQview Link)
Modem (for Auto-dialer and DESQview Link): Hayes Smartmodem or compatible
Operating System: PC-DOS 2.0-4.0; MS-DOS 2.0-3.3
DESQview memory overhead: 640K PC's and 8088 & 80286 PC's without
expanded memory: 145K; 80286 PC's with extended memory: 85K; 8088 & 80286
PC's with enhanced expanded memory or 80386 PC's: 40K for PC's with
EGA/VGA displays; 0-10K for PC's with monochrome or CGA displays
DESQview Companions memory requirements: Datebook: 55K; Calculator: 30K;
Notepad: 35K; Link: 80K; Quarterdeck Expanded Memory Manager-386: 1.5K;
Quarterdeck Expanded Memory Manager-50/60: 16K
Media: DESQview and DESQview Companions available on either
5 1/4 inch or 3 1/2 inch floppy diskette