GRUMPFISH REPORTER DEVELOPER'S VERSION DEPENDENCIES


1.  Introduction

    Grumpfish Reporter relies upon the following five Clipper add-on
    products: Grumpfish Library, Class(y), CLIPWKS, Overlay, FlexFile,
    and Treeducer. We provide limited run-time versions of Grumpfish
    Library and Class(y) in the event that you do not own them.
    However, CLIPWKS, Overlay, Flexfile, and Treeducer are optional.  If
    you own one of these four products and wish to use it in conjunction
    with Grumpfish Reporter, you will have to recompile some of the
    Reporter source code.  However, rest assured that we have attempted
    to make this process as easy as humanly possible via the Clipper
    preprocessor. Please read the following instructions carefully!

2.  Grumpfish Library

    It should come as no surprise that Grumpfish Reporter relies quite
    heavily on the functions found in Grumpfish Library. The same person
    wrote both products, and is allergic to "reinventing the wheel".

    If you already own Grumpfish Library, you should follow these steps:

    (1) use GRUMP.LIB in place of GRGRUMP.LIB in your link scripts.

    (2) use the GRUMP.CH header file that is provided with Grumpfish
    Library in place of the excerpted version provided with Grumpfish
    Reporter.

    (3) Make sure that you are up-to-date, either by subscribing to our
    Extended Support Program or by regularly downloading the incremental
    upgrades from our BBS. Grumpfish Library version 3.2 was used in the
    creation of Grumpfish Reporter.

    If you do not own Grumpfish Library, you are not required to
    purchase it in order to use Grumpfish Reporter.  We have provided a
    limited version, GRGRUMP.LIB, that contains the functions required
    by Grumpfish Reporter. However, the source code for these functions
    is not provided with Grumpfish Reporter.  If you want this source
    code, you will have to purchase Grumpfish Library.

    Grumpfish Library is written by Greg Lief, co-author of "Clipper
    5.2: A Developer's Guide" (Henry Holt) and "Network Programming in
    CA-Clipper 5.2" (Ziff-Davis Press).  It is available from:

         Grumpfish, Inc.
         2450 Lancaster Dr., NE, #206
         Salem, OR 97305 USA
         Sales 800-367-7613
         Tel   503-588-1815
         Fax   503-588-1980

3.  Class(y) (required for form painter, browser)

    The Grumpfish Reporter form painter is object-oriented in design.
    Because Clipper 5.x does not allow you to create your own object
    classes, we are using Class(y), published by ObjecTech Inc.

    Specifically, the following functions rely upon Class(y):

    - BASE()   (located in BASECLAS.PRG)
    - GRBOX()  (located in BOXCLASS.PRG)
    - FLD()    (located in FLDCLASS.PRG)
    - TEXT()   (located in TXTCLASS.PRG)

    Additionally, the interactive browser relies upon a subclass of
    Clipper's TBColumn object class:

    - GRCOLUMN() (located in GR_COLUM.PRG)

    If you own Class(y) 2.0, you should follow these three steps:

    (1) The files BOXCLASS.PRG, BASECLAS.PRG, FLDCLASS.PRG,
    GR_COLUM.PRG, and TXTCLASS.PRG are written for compatibility with
    Class(y) 1.0x. If you wish to use these with Class(y) 2.0, you
    should therefore recompile these five files with the /dCSY1 compiler
    switch.  Naturally, you should then make certain that you are
    explicitly linking these five .OBJ files.

    (2) Be sure to move or delete the copies of CLASS(Y).CH and
    ENDCLASS.CH that ship with Grumpfish Reporter, because you will
    instead want to use those with Class(y) 2.0.

    (3) In your link script (e.g., GRBLINK.LNK), be sure that you are
    searching CLASSY rather than CLASSYGR.

    If you own Class(y) version 1.0x, make certain that your link script
    (e.g., GRBLINK.LNK) specifies CLASSY rather than CLASSYGR.

    If you don't own Class(y), you do not need to purchase Class(y)
    because we have provided a special run-time version with Grumpfish
    Reporter (contained in the file CLASSYGR.LIB).  All you need to do
    is include the following statement anywhere in your source code:

    external reporter

    This will satisfy checksum requirements in the run-time version of
    Class(y).  If you forget to include this statement, you will be
    reminded as soon as you try to use the form painter or interactive
    browser, because they won't work!

    In the event that you want to make any changes whatsoever to the
    definition of these five classes, you will need the full
    unrestricted version of Class(y), which is available from:

         ObjecTech Inc.
         266 Harristown Rd
         Suite 108
         Glen Rock, NJ 07452

         800-825-2779  Sales
         201-445-5758  Sales
         201-445-5462  Fax
         201-445-5979  Tech Support

4.  CLIPWKS (required for spreadsheet output)

    If you are using the Developer's Version to link Grumpfish Reporter
    into your application, the spreadsheet output (via the GR_WKS()
    function) requires CLIPWKS Version 1.x.  (NOTE: Excel support was
    added with CLIPWKS version 1.07.  If you own an earlier version and
    desire Excel support, please download the latest Clipper 5.x version
    from our support BBS.)

    If you own CLIPWKS and desire spreadsheet output, please follow
    these four steps:

    (1) Recompile GR_WKS.PRG with the following syntax:

        clipper gr_wks /n /w /dSPREADSHEET_OUTPUT

        If you require Excel support, use the following syntax precisely
        as shown (the order of the two /d options is significant!):

        clipper gr_wks /n /w /dSPREADSHEET_OUTPUT /dEXCEL_SUPPORT

        If you are not calling the main GR() function to provide your user
        with the Reporter front-end menu, skip ahead to step (3) below.

    (2) Recompile GR.PRG with the following syntax:

        clipper gr /n /w /dSPREADSHEET_OUTPUT

        The EXCEL_SUPPORT option is not required for this file.

    (3) Uncomment the statement ALLOCATE CLIPWKS5 (or SEARCH CLIPWKS5
        if you are using RTLink) in your link file.

    (4) Link the resultant GR_WKS.OBJ (and GR.OBJ) file(s) into your
        application.

    CLIPWKS is written by Joe Booth, co-author of "Clipper 5.2: A
    Developer's Guide" (Henry Holt) and "Network Programming in
    CA-Clipper 5.2" (Ziff-Davis Press).  It is available from:

         Grumpfish, Inc.
         2450 Lancaster Dr., NE, #206
         Salem, OR 97305 USA
         Sales 800-367-7613
         Tel   503-588-1815
         Fax   503-588-1980

5.  OverLay() / Blinker 2.01 (used for DOS shell)

    The DOS shell (via the GR_DOS() function) requires either OverLay
    Version 3.5 or Blinker 2.01.

    If you want to use OverLay(), follow these two steps:

    (1) Recompile GR_DOS.PRG with the following syntax:

        clipper gr_dos /n /w /dDOS_SHELL

    (2) Link GR_DOS.OBJ into your application, making sure to first
        uncomment the statements FILE RESIDENT and ALLOCATE OVERCL
        (or SEARCH OVERCL for .RTLink) in your link file.

    If you want to use Blinker 2.01, follow these two steps:

    (1) Recompile GR_DOS.PRG with the following syntax:

        clipper gr_dos /n /w /dDOS_SHELL /dBLINKER_2

    (2) Link your application with Blinker 2.01, being sure to pull in
        the revised GR_DOS.OBJ.

    OverLay is available from:

         SofDesign International, Inc
         1303 Columbia Drive, Suite #209
         Richardson, TX 75081 USA
         Tel 214-644-0098
         Fax 214-644-4286
         BBS 214-234-1732

    Blinker 2.01 is available from:

         Blink, Inc.
         P.O. Box 7154
         Richmond, VA  23221 USA
         Tel 804-355-4444
         Fax 804-355-1000
         BBS 804-355-1111

6.  FlexFile Memo Support

    Grumpfish Reporter supports FlexFile memo replacement.  The
    following functions make use of FlexFile functions: GR_RESET(),
    GR_VIEW(), GOPENFILE(), GR_CONDITION(), and GR_DBF().  If you own
    FlexFile, please follow these steps:

    (1) Recompile the files DD.PRG, GR_COND.PRG, GR_RESET.PRG,
        GR_VIEW.PRG, OPENFILE.PRG, and GR_DBF.PRG with the following
        syntax:

        clipper <filename> /n /w /dFLEXFILE_SUPPORT

    (2) Either add or uncomment the statement ALLOCATE FLEXFILE from
        your link file.

    (3) Be sure to link all six of these revised .OBJ files into your
        application.

    FlexFile is available from:

         Ganahl Software
         PO Box 4275
         Deerfield Beach, FL 33442 USA
         Tel 800-285-3539
         Tel 305-735-2334
         Fax 305-486-3649

7.  Treeducer Output

    Treeducer is a product which allows us to save paper when printing
    with laserjet printers.  It also provides a variety of cosmetic
    enhancements.  If you own Treeducer and wish to use it within the
    context of Grumpfish Reporter, please follow these five steps:

    (1) Compile GR_TREE.PRG with the following syntax:

        clipper gr_tree /n /w /dTREEDUCER

    (2) Compile GR_PRINT.PRG with the following syntax:

        clipper gr_print /n /w /dTREEDUCER

        If you are not calling the main GR() function to provide your
        user with the Reporter front-end menu, skip ahead to step #4
        below.

    (3) Recompile GR.PRG with the following syntax:

        clipper gr /n /w /dTREEDUCER

        (If you are using CLIPWKS as mentioned above, you should
        also use the "/dSPREADSHEET_OUTPUT" option when compiling
        this file.)

    (4) Uncomment the statement ALLOCATE TS501 (or SEARCH TS501 if you
        are using RTLink) in your link file.  If you are using
        CA-Clipper 5.2 rather than 5.01, change TS501 to TS520.

    (5) Link the resultant GR_TREE.OBJ, GR_PRINT.OBJ (and optionally
        GR.OBJ) files into your application.

    Treeducer is available from:

         SCT Associates, Inc.
         9221 S. Kilpatrick Ave.
         Oak Lawn, IL 60453
         Tel: 800-949-6945
              708-425-0205
         Fax: 708-422-3877


*** end of DEPEND.TXT
