BBS: Inland Empire Archive
Date: 08-11-92 (13:01) Number: 15
From: TONY ELLIOTT Refer#: NONE
To: RANDY HARRIS Recvd: NO
Subj: Help Please! Conf: (2) Quik_Bas
RH>I have downloaded several QB Libs from this BBS and am anxius to
RH>incorporate the functions into my programs. I can create programs using
RH>any one of the libraries at a time. How do I go about using functions
RH>from more than one library in the same program?
During your software development with QuickBASIC, there are two types
of libraries that you'll have to deal with: QuickLibraries (.QLB) and
Link libraries (.LIB).
When you are developing inside the Qb environment, you have to load a
QuickLibrary that contains the library routines you wish to access. If
you want to access routines from more than one library, there are
several different approaches you can take (from easiest to hardest):
1) Use the LINK program to create a single .QLB from one or more
.LIBs. For example:
LINK /Q Library1.LIB [+ Library2.LIB], Output.QLB, NUL, BQLB45;
The above will generate a file called Output.QLB which will
contain all of the routine in Library1.LIB and Library2.LIB.
This method is relatively easy, but it doesn't give you a great
deal of control as to exactly WHAT goes into the final .QLB.
If, for example, two two .LIBs were both pretty big, you might
not have much room left in the environment after the QLB is
2) Use MicroHelp's PREQLB utility or Crescent Software's MAKEQLB
utility to create a custom QLB which contains only the routines
needed by your program. These utilities are public domain and
available from both source free of charge, or can be downloaded
from several BBSs. They analyze your source code files to
determine what "external" routines are needed, then they issue
the appropriate commands to LINK.EXE to generate the QLB for
you. Really neat stuff!
3) You can manually build a combined QLB yourself using a response
file, batch file or whatever. If you need more details in this,
I would suggest that you check some back issues of BASICPro for
articles on libraries. If you have any specific questions, let
The above covers the environment. Now what about making an .EXE? There
are a couple of ways to go here as well.
1) If you want to "Make and EXE" from the environment, you need to
have a .LIB that matches the contents of your .QLB extactly, and
has the same primary name as your .QLB (i.e., if you have
MYSTUFF.QLB, you also need a matching MYSTUFF.LIB). You can use
the LIB utility to combine two .LIBs into a single one:
LIB MYSTUFF +Library1.LIB + Library2.LIB;
This will create a new libraru called MYSTUFF.LIB which contains
all of the routines in Library1.LIB and Library2.LIB.
2) You can manually compile and LINK from the DOS command line.
Because the environment often uses compiler switches not needed
by your program (which can result in a larger, slower .EXE),
most people compile and link manually:
BC Program.BAS [switches] ;
LINK /EX Program,,NUL, [Library1 [Library2 etc.]] ;
For example: If you have a program called TEST.BAS which calls
routines in Library2.LIB and Library2.LIB, you can compile and
link as follows (to create a
BC TEST /O ;
LINK /EX TEST,,NUL,Library1 Library2 ;
Hope this helps!
X EZ 1.39 X Spaghetti code means job security.
--- Maximus 2.01wb
* Origin: Bare Bones 2.x the MAXimus! (1:133/305)