Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- SIx Driver RDD v3.00 - Reference Guide - <b>linking the six driver with your application:</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
  Linking the SIx Driver With Your Application:


    NOTE:  If you are using the International CA-Clipper release with
           the International SIx 3.0, see the "Notes For International
           Users" section earlier in this documentation for important
           information on linking your application with SIx 3.0.


  Linking the SIx Driver with your application is a simple process.  There
  are two steps that should be taken whenever you want to include the SIx
  Driver in your application:

    1.  Include the SIx Driver header file in your source file(s) using
        the #include directive:

      For SIXCDX:  #include "SIXCDX.CH"

      For SIXNSX:  #include "SIXNSX.CH"

      For SIXNTX:  #include "SIXNTX.CH"

    NOTE:  If you will be using extended expressions in your indexing
           commands, use the SIXCDX2.CH, SIXNSX2.CH, and/or SIXNTX2.CH
           file(s) instead of the one(s) listed above.


    2.  Add SIX3.LIB as a library to your link command or link script before
        the CLIPPER.LIB file. For example:

      EXOSPACE FI myapp, myfuncs LIB six3, clipper

      BLINKER FI myapp, myfuncs LIB six3, clipper


  SIx Driver (SIXCDX, SIXNSX or SIXNTX) Only:

  To make one of the SIx Driver flavors the default RDD, include either
  SIXCDX.OBJ, SIXNSX.OBJ, or SIXNTX.OBJ as a file in your link command or
  link script.  This causes  the selected SIx Driver flavor to replace
  DBFNTX as the default RDD, thereby reducing your load size (memory
  requirements).  You also need to add SIX3.LIB to your link command or
  link script as a library.

    For SIXCDX:

      EXOSPACE FI myapp, myfuncs, sixcdx LIB six3, clipper

      BLINKER FI myapp, sixcdx LIB six3, clipper

    For SIXNSX:

      EXOSPACE FI myapp, myfuncs, sixnsx LIB six3, clipper

      BLINKER FI myapp, sixnsx LIB six3, clipper

    For SIXNTX:

      EXOSPACE FI myapp, myfuncs, sixntx LIB six3, clipper

      BLINKER FI myapp,sixntx LIB six3, clipper


  SIx Driver (SIXCDX and/or SIXNSX) and DBFNTX:

  Instead of linking Clipper's DBFNTX driver into your application with the
  SIx Driver (SIXCDX and/or SIXNSX), we recommend using our SIXNTX driver
  which is included in the SIX3.LIB file.

  Since SIXNTX shares common code with SIXCDX and SIXNSX, the memory
  requirements will be much less than if DBFNTX were used instead.  To use
  SIXNTX in your SIXCDX or SIXNSX application, link as you normally would
  for just SIXCDX or SIXNSX (as shown above) and simply add the following
  line of code at the top of one of your applcation source modules (usually
  the main source module):

    REQUEST SIXNTX



  Combining All Four SIx Driver Flavors In The Same Application:

  To use all four SIx Driver flavors in the same application, you would do
  the following:

    1.  Select which flavor you want to be considered the "default" driver
        (either SIXCDX, SIXNSX, SIXMDX, or SIXNTX), and link in the same-
        named .OBJ file (SIXCDX.OBJ, etc...).

        Note that the SIXNTX.OBJ file forces the SIXNTX flavor to be the
        default driver, and effectively prevents Clipper's DBFNTX driver
        from being linked in (as the SIXCDX.OBJ or SIXNSX.OBJ file also
        would):

          BLINKER FI myapp, sixntx @six3

    2.  Add REQUEST lines in your main source module to force the other
        three flavors to also be linked in.

          REQUEST SIXCDX  // Forces SIXCDX to be linked in
          REQUEST SIXNSX  // Forces SIXNSX to be linked in
          REQUEST SIXMDX  // Forces SIXMDX to be linked in


  Overlaying the SIx Driver:

  The SIx Driver can be overlayed with a linker that can overlay C and
  Assembly object files, such as Blinker, WarpLink, or RTLink Plus.  The
  RTLink that comes bundled with Clipper cannot overlay C and Assembly code,
  and may not perform well with the SIx Driver on large applications.

    NOTE:  The SIx Driver is also 100% compatible with protected mode
           linkers such as Blinker 3.x, ExoSpace, and CauseWay.

  An overlay link script file called SIX3.LNK is provided for use with
  Blinker 1.5 and above.  To use this link script from the DOS command-
  line, you would do this:

    For SIXCDX: BLINKER FI myapp, sixcdx @six3.lnk

    For SIXNSX: BLINKER FI myapp, sixnsx @six3.lnk

    For SIXNTX: BLINKER FI myapp, sixntx @six3.lnk


  NOTE:  It is highly recommended that you use the supplied link script
         to overlay the SIX3.LIB file.  If you simply overlay the entire
         library without using the overlay script file to force certain
         .OBJ modules into the root, your application will most likely
         run very slow.  The same slow result can occur by placing the
         entire library in the root section (not overlaying it at all).
         If this causes your application to be critically low on memory,
         VM will start swapping to try and provide more memory to your
         application. This action will slow your application down.



Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson