[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 EXTERNAL*
 Declare a list of procedure or user-defined function names to the linker
------------------------------------------------------------------------------
 Syntax

     EXTERNAL <idProcedure list>

 Arguments

     <idProcedure list> is the list of procedures, user-defined
     functions, or format procedures to add to the list of routines that will
     be linked into the current executable (.EXE) file.

 Description

     EXTERNAL is a declaration statement that specifies uncoded references to
     the linker.  Like all other declaration statements, an EXTERNAL
     statement must be specified before any executable statements in either
     the program file, or a procedure or user-defined function definition.

     During the compilation of CA-Clipper source code, all explicit
     references to procedures and user-defined functions are made to the
     linker.  In some instances, there may be no references made to procedure
     or user-defined function names until runtime.  EXTERNAL resolves this by
     forcing the named procedures or user-defined functions to be linked even
     if they are not explicitly referenced in the source file.  This is
     important in several instances:

     .  Procedures, user-defined functions, or formats referenced with
        macro expressions or variables

     .  Procedures and user-defined functions used in REPORT and LABEL
        FORMs and not referenced in the source code

     .  User-defined functions used in index keys and not referenced
        in the source code

     .  ACHOICE(), DBEDIT(), or MEMOEDIT() user functions

     To group common EXTERNAL declarations together, place them in a header
     file and then include (#include) the header file into each program
     (.prg) file that might indirectly use them.

     EXTERNAL is a compatibility statement and therefore not recommended.  It
     is superseded by the REQUEST statement that defines a list of module
     identifiers to the linker.

 Examples

     .  These examples are equivalent header files consisting of
        common EXTERNAL references for REPORT FORMs:

        // Externals.ch
        EXTERNAL HARDCR
        EXTERNAL TONE
        EXTERNAL MEMOTRAN
        EXTERNAL STRTRAN

        // Externals.ch
        EXTERNAL HARDCR, TONE, MEMOTRAN, STRTRAN


See Also: #include REQUEST
This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson