home *** CD-ROM | disk | FTP | other *** search
/ World of Shareware - Software Farm 2 / wosw_2.zip / wosw_2 / QBAS / PRQLB123.ZIP / PREQLB.DOC next >
Text File  |  1991-02-18  |  9KB  |  176 lines

  1.                                   Pre-QLB 1.22
  2.                      Copyright (c) 1989/1990 MicroHelp Inc.
  3.  
  4. Licensing:
  5.    This program is Copyrighted by MicroHelp Inc. and was originally
  6.    released in our QB-Pro Volume 8.  It is now being placed into the
  7.    Public Domain to assist you in creating your quick libraries.
  8.    This program can be freely distributed as long as it is not modified
  9.    in any way. The PreQlb.zip file should contain the current executable
  10.    file and this PREQLB.DOC file.  If you discover any problems with this
  11.    program we definitely want to know about them; however, only registered
  12.    users of QB-Pro Volume 8 can receive tech support on this program.
  13.  
  14.    If you want further information on our line of BASIC add-in libraries
  15.    and other products, please call us at 1-800-922-3383 or in GA at
  16.    (404) 552-0565.  If you discover a problem with PreQLB, you can write
  17.    to us at 4636 Huntridge Dr.  Roswell, GA 30075.
  18.  
  19. Overview:
  20.    PreQLB is used to automatically build a Quick Library containing
  21.    only those externals needed by a program.  PreQLB parses the BASIC
  22.    source code checking for specific statements that identify the names
  23.    of external routines used in your program.  It then creates a file with
  24.    a .BQL extension that is passed to the LINKer to create the needed .QLB.
  25.    All of the externals that are required for your program are extracted
  26.    from a list of specified .LIB files to create the quick library.  Only
  27.    .LIB files can be searched by PreQLB, you can not pass it the name
  28.    of individual object filenames. (You can pass object modules using the
  29.    #TrailingObject command described below).
  30.  
  31. Usage:
  32.    PreQLB can be operated from the command line or through a one page
  33.    data entry screen.
  34.  
  35.    The syntax is "Preqlb [?] [Filename] [/L] [/Q]".
  36.  
  37.    Passing the "?" will display a help screen that gives the proper syntax
  38.    and a brief usage summary.
  39.  
  40.    The /L switch will create a list file with the same name as your Filename
  41.    and the .LST extension.  This listing will contain the names of all the
  42.    external routines in the Quick Library created by PreQLB.
  43.  
  44.    The /Q switch instructs PreQLB to process $INCLUDE files one time.
  45.    If your program has multiple modules and the same $INCLUDE is listed in
  46.    more than one of these modules, the /Q switch tells PreQLB to search for
  47.    externals in this $INCLUDE file only on the first time that it is processed.
  48.    If you receive an "Unresolved Externals" error message from the linker,
  49.    then run PreQLB without the /Q switch.
  50.  
  51.    Filename is the name of your BASIC source file, (it MUST be in ASCII)
  52.    and the extension is not required.  PreQLB looks for files in the
  53.    following order.  First: .MAK files.  If a make file is found, PreQLB
  54.    will process every module listed in the file.  If a .MAK file is not
  55.    found, PreQLB then looks for a .BAS file.  If your file has an extension
  56.    other than .MAK or .BAS, you must pass the complete filename on the
  57.    command line.  Additionally, PreQLB will look for a .CFG file.  This
  58.    configuration file is created by the input routine, (explained below)
  59.    and contains the names of the source file (or make file), the support
  60.    library, the quick library, and up to five link libraries with their
  61.    respective paths.
  62.  
  63.    While parsing the file(s), PreQLB looks for three special PreProcessing
  64.    commands: #Libraries, #SupportLib and #TrailingObject.  The proper syntax
  65.    for these commands is:
  66.    '#Libraries: 'C:\PDS\LIB\MHLIB2'
  67.    '#SupportLib: 'C:\PDS\LIB\QBXQLB'
  68.    '#TrailingObject: 'C:\PDS\OBJ\MHMISCPX'
  69.  
  70.    Please note that the leading and trailing apostrophes (') are REQUIRED.
  71.  
  72.    You can have up to 20 #Libraries and 20 #TrailingObject statements in your
  73.    files, but only one #SupportLib.  If you have more than 20 #Libraries
  74.    or #TrailingObject statements, all over 20 are not processed and only
  75.    the LAST #SupportLib is maintained.
  76.  
  77.    The #SupportLib command refers to the Quick Library support library.
  78.    For BC 7.x this is QBXQLB.LIB, for QB 4.x it is BQLB4x.LIB.  This file
  79.    is distributed with your Microsoft compiler.
  80.  
  81.    The #Libraries command refers to linkable libraries (.LIB file extension),
  82.    that contain the routine(s) that you are using in your program.
  83.  
  84.    The #TrailingObject command allows you to pass the name of object modules
  85.    to be included in your Quick Library.  You can use this command to include
  86.    customized object modules for individual programs without having to remove
  87.    the object module with the same name from your linkable library.  If you
  88.    are a MicroHelp customer, then you can use this option to pass the name of
  89.    the proper near or far string support module (MHMISCP or MHMISCPX).
  90.  
  91.    If you enter PREQLB without command line options, an input screen will
  92.    appear that allows you to enter the names of the source or make file,
  93.    the support library, five link libraries and the quick library.  The
  94.    source file is the name of your source or make file with the path if
  95.    desired.  If your source has a .BAS or .MAK extension, then the
  96.    extension is NOT required.  You can also select the /Q and /L option
  97.    switches explained above.
  98.  
  99.    Pressing the F2 key from the input screen will cause the quick library
  100.    to be built using the options entered.  PreQLB will check to make sure
  101.    it can find the support and link libraries in the path provided or in
  102.    the LIB environment variable path.  If one of these libraries can not
  103.    be found, an error message will appear and you will remain in the input
  104.    screen.  You must then provide the proper path or update your LIB
  105.    environment variable.
  106.  
  107.    PreQLB will check the DOS environment for the presence of a "INCLUDE="
  108.    environment variable, and will search this path as well as the current
  109.    directory for $INCLUDE files.
  110.  
  111.    The only fields that MUST be filled in are:
  112.    1) The source file name
  113.    2) The support library name
  114.    All of the other fields are optional.
  115.  
  116.    PreQLB will then create two files called Preqlb.rsp and PQ.bat that
  117.    are used to create the quick library.  These files are not deleted
  118.    when the operation is finished, so you could use them to rebuild the
  119.    library again without running PreQLB.  PQ.bat simply invokes the
  120.    linker, passing it the necessary responses in the Preqlb.rsp file.
  121.  
  122.    You can save this configuration information by pressing the F9 key.
  123.    You will be prompted for a filename, the default being the same as
  124.    your source file without an extension.  PreQLB will then save all
  125.    of the information on the input screen in this file with a ".CFG"
  126.    extension.  The next time you need to build a quick library for this
  127.    program, you can use the command line option and PreQLB will
  128.    read the .CFG file.
  129.  
  130.    Speed Tips:
  131.    1)  Use the special pre-processing commands in your code to
  132.    identify the names of the support library, link libraries and
  133.    any trailing object modules your quick library will need.  Then
  134.    type PREQLB <program.name>.  PreQLB will obtain all the information
  135.    it needs directly from you source code and you will have a permanent
  136.    reference of what libraries and files are needed for this program.
  137.  
  138.    2)  If you have a multi-module program where more than one module
  139.    uses the same $INCLUDE file(s) and these $INCLUDE file(s) only need
  140.    to be processed once, then make sure you use the /Q switch.  This switch
  141.    can be passed on the command line "PREQLB <programname> /Q", or saved
  142.    in a .CFG file from the input screen.  If you use this switch and
  143.    receive an "Unresolved Externals" error message from the linker, then
  144.    run PreQLB again without the /Q switch and the quick library should
  145.    be created successfully.
  146.  
  147.    3)  If you are building quick libraries for large programs that utilize
  148.    several link libraries and you have a RAM disk:  Copy your link
  149.    libraries, source code and PreQLB to the RAM disk and run the program
  150.    there.  The speed increase can be significant.  To automate this process,
  151.    create a small batch file that copies the necessary files to the RAM
  152.    disk and optionally starts PreQLB.
  153.  
  154.  
  155. Version 1.21
  156. 01-15-91: If PreQLB was run from command line without a .CFG file, the
  157.           PQ.RSP file could contain an invalid Quick Library Name (the
  158.           filename had only the .QLB extension).
  159.  
  160.           The maximum number of references was increased from 300 to 500.
  161.  
  162. Version 1.22
  163. 02-13-91: If a DECLARE had more than one space between the keyword and the
  164.           procedure name, a "nul" procedure name was being placed in the
  165.           .bql file.  This would not happen if the .DEC file or source file
  166.           was ever loaded into the QB/QBX environment and saved, since QB
  167.           would trim the blank spaces.
  168.  
  169.          If you updated the LIB environment variable, it was not being passed
  170.          in the batch file.  We now APPEND any changes to your existing LIB
  171.          environment variable (if any).
  172.  
  173.          Added the ability to abort the program while the source files are
  174.          being read by pressing the Escape key, with a Yes/No verify option.
  175.  
  176.