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
Pingback: C5 Flow Control | Viva Clipper !
Pingback: C5 Statements | Viva Clipper !
Pingback: C5_REQUEST | Viva Clipper !