| **Navigation:**  [[templates.htm|Templates]] > [[tlrcontents.htm|Template Language Reference]] > Complete Alpha Listing >====== #MODULE (module area) {{c6h0068.jpg|C6H0068.jpg}} ====== | [[ message display source generation message .htm|{{btn_prev_n.gif|Previous page}}]][[tlrcontents.htm|{{btn_home_n.gif|Return to chapter overview}}]][[ open open source file .htm|{{btn_next_n.gif|Next page}}]] | | || **#MODULE(** //name, description// [, //target, extension// ] **)** [, **HLP(** //helpid// **)** ] [, **EXTERNAL **] {{blk2blue.jpg|blk2blue.jpg}} | **#MODULE** | Begins the module section. | | //name// | The name of the Module which identifies it for the Template Registry and Template Language statements. This must be a valid Clarion label. | | //description// | A string constant describing the #MODULE section for the Template Registry and Application Generator. | | //target// | A string constant that specifies the source language the Template generates. The word "EXTERNAL" is convention adopted to indicate an external source or object module. If omitted, it defaults to Clarion. | | //extension// | A string constant that specifies the source code file extension for the //target//. If omitted, it defaults to .CLW. | | **HLP** | Specifies on-line help is available. | | //helpid// | A string constant containing the identifier to access the Help system. This may be either a Help keyword or "context string." | | **EXTERNAL** | Specifies no source generates into the module. | The **#MODULE** statement defines the beginning of the section of the template which puts data into each generated source module's data area. The #MODULE Section is terminated by the next Template Code Section (#PROGRAM, #MODULE, #PROCEDURE, #CONTROL, #CODE, #EXTENSION, or #GROUP) statement encountered, or the end of the file. A Template set may contain multiple #MODULE statements. Code generated by a #MODULE section is (usually) placed at the beginning of a source code file generated by the Application Generator. #BUTTON, #PROMPT, and #DISPLAY statements are not valid within a #MODULE section. **Example:** **#MODULE(ExternalOBJ,'External .OBJ module','EXTERNAL','.OBJ'),EXTERNAL** **#MODULE(ExternalLIB,'External .LIB module','EXTERNAL','.LIB'),EXTERNAL** **#MODULE(GENERATED,'Clarion MEMBER module')** **  MEMBER('%Program')           !MEMBER statement is required** **%ModuleData                   #!Data declarations local to the Module**