"Subprogram Not Defined" GetCopyBox, AttrBox Using GENERAL.BAS (57365)
The information in this article applies to:
- Microsoft Basic Professional Development System for MS-DOS 7.0
- Microsoft Basic Professional Development System for MS-DOS 7.1
This article was previously published under Q57365 SUMMARY
GetCopyBox, PutCopyBox, and AttrBox (which are all invoked in
GENERAL.BAS) are assembly language procedures located in the UIASM.ASM
assembler source file, in the UIASM.OBJ object file, and in the
UITBEFR.QLB Quick library. This fact needs to be added on Pages 499,
585-586, 589, and 591 of the "Microsoft Basic 7.0: Language Reference"
manual for Microsoft Basic Professional Development System (PDS)
versions 7.00 and 7.10. You will need to know this when using
GENERAL.BAS from the User Interface (UI) Toolbox as described below.
If you are using GENERAL.BAS in QBX.EXE and get a "Subprogram not
defined" error on a call to GetCopyBox, PutCopyBox, or AttrBox, then
you must invoke QBX with a Quick library containing these routines,
for example:
[Also, if you are using GENERAL.BAS in QBX.EXE and get a "Subprogram
not defined" error on a call to MouseHide (in the Box subprogram),
then you must Load (choose Load from the File menu) the MOUSE.BAS
source file, which contains MouseHide and the other mouse UI Toolbox
routines.]
This information applies to the UI Toolbox in Microsoft Basic PDS
versions 7.00 and 7.10 for MS-DOS.
MORE INFORMATION
If you chose to have Quick libraries created when you ran SETUP.EXE
for Basic 7.00 or 7.10, you already have the UITBEFR.QLB Quick library
that contains all the UI Toolbox routines. SETUP.EXE places
UITBEFR.QLB by default in the directory where you chose to place
.LIB files.
Pages 534 and 535 "Microsoft Basic 7.0: Language Reference" for
versions 7.00 and 7.10 describe how to build UITBEFR.QLB (or subsets)
yourself. (You can use LINK /Q to build UIASM.OBJ into a Quick library
and use LIB.EXE to build the parallel .LIB library.)
The three routines in UIASM.OBJ (PutCopyBox, GetCopyBox, and AttrBox)
must always be present when using the UI Toolbox.
Page 586 correctly describes how to make calls to AttrBox SUB. Since
the code for AttrBox is not in the GENERAL.BAS source-code file, if
you want to alter the code for AttrBox, you must edit the UIASM.ASM
source file and reassemble it with Microsoft Macro Assembler (MASM).
Documentation Correction
Pages 499 and 585-586 of the "Microsoft Basic 7.0: Language Reference"
manual incorrectly imply that AttrBox SUB is a procedure found in the
GENERAL.BAS source-code file for the User Interface (UI) Toolbox.
The AttrBox is actually an assembly language procedure located in the
UI Toolbox object file, UIASM.OBJ (and in the UIASM.ASM source file).
The UI Toolbox procedures require that UIASM.OBJ be included either in
a Quick library when running inside the QBX.EXE editor or in a library
(.LIB) that is linked to your program when running outside the
environment (in a compiled executable .EXE form).
Modification Type: | Minor | Last Reviewed: | 8/16/2005 |
---|
Keywords: | KB57365 |
---|
|