Contents of the HANDLES.DOC file
HANDLES2.ARC contains the source, object, and documentation of a method of
increasing the number of files that can be open simultaneously using
Clipper, up to a maximum of 255, as limited by buffer memory. This version
is for use with Clipper Summer '87 only. (See HANDLES1.ARC for Clipper
Author: Hugh Coomes
Vericom Systems, Inc.
19 Old Mamaroneck Road
White Plains, NY 10605
Source ID: NAN891
Placed in the public domain by Vericom Systems, Inc. February 16, 1987
Requirements: DOS 3.0, 3.1, or 3.2 and Clipper Summer 87.
Directory of Files in HANDLES2.ARC
HANDLES.DOC - This file
HANDLES.ASM - Source file for user defined function to increase the
number of files.
HANDLES.OBJ - Object module assembled for 40 file handles.
HANDPROC.ASM - Some utility functions useful for testing.
HANDPROC.OBJ - Object module of above.
TESTHAND.PRG - A simple test program.
TEST.DBF - File definition used by TESTHAND.
I N S T R U C T I O N S
To increase the number of file handles to in a Clipper program, perform the
following four steps:
(1) Change the HTABLEN equate in HANDLES.ASM to HTABLEN equ and
(2) Change the value of the FILES = statement in CONFIG.SYS. (HTABLEN
is the optimum value.)
(4) Place the statement
intvar = handles()
in the Clipper program. The variable intvar will have value 0 if
the DOS version is prior to 3.0. Otherwise the value will be equal
(5) Link the module HANDLES.OBJ with the Clipper program.
The module HANDPROC.ASM contains the following three functions which may be
useful for testing:
handcnt() - Returns the number of used file handles.
handval(n) - Returns the DCB number for file handle n.
handsiz() - Returns the size of the handle table.
At any time during program execution, the number of available file handles
min(handsiz(), ) - handcnt()
where is the value of the FILES= statement in CONFIG.SYS.
--- --- ---
These routines have worked in the brief testing I have done. No testing
has been done in a network environment.
Since this is free public domain software you can use them any way you see
fit, including use in commercial products.
The routines will also work with DOS 3.3, although they are not needed.
(Instead, specify the environment parameter SET CLIPPER=Fnnn.) If you do
use them with DOS 3.3, you should omit the Fnnn parameter from your SET
Don't forget to set the FILES=nnn parameter in the CONFIG.SYS file to a
value at least as large as the number of handles you expect to use.
The documentation file in HANDLES1.ARC contains additional information on
the operation of these routines.
There is no warranty, expressed or implied on this software. I will,
however, attempt to fix any bugs that anyone uncovers.