C5_EXTERNAL

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 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



3 responses to “C5_EXTERNAL

  1. Pingback: C5 Flow Control | Viva Clipper !

  2. Pingback: C5 Statements | Viva Clipper !

  3. Pingback: C5_REQUEST | Viva Clipper !

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.