| **Navigation:**  [[templates.htm|Templates]] > [[tlrcontents.htm|Template Language Reference]] > Complete Alpha Listing >====== #? (conditional source line) {{c6h0068.jpg|C6H0068.jpg}} ====== | [[ embededitor comment .htm|{{btn_prev_n.gif|Previous page}}]][[tlrcontents.htm|{{btn_home_n.gif|Return to chapter overview}}]][[ aligned target language comments .htm|{{btn_next_n.gif|Next page}}]] | | || **#?**//statement// {{blk2blue.jpg|blk2blue.jpg}} | **#?** | Defines a single line of source code generated only if #RELEASE commits the conditional source section. | | //statement// | A single line of target language code. This may contain template symbols. | The **#?** statement defines a single line of source code that is generated only if a #RELEASE statement is encountered. This allows empty unnecessary "boiler-plate" code to be easily removed from the generated source. A #EMBED that contains source to generate performs an implied #RELEASE. Any generated source output also performs an implied #RELEASE. Therefore, an explicit #RELEASE statement is not always necessary. The #? statement defines an individual conditional source line that does not perform the implied #RELEASE. When a #RESUME is executed without the output to the file being released, any conditional lines of code are un-done back to the matching #SUSPEND. **Example:** **ACCEPT                        #!Unconditional source line** **#SUSPEND** ** ****#?****CASE SELECTED()           #!Conditional source line** **  #FOR(%ScreenField)** **    #SUSPEND** ** ****#?****OF %ScreenField           #!Conditional source line** **    #EMBED(%ScreenSetups,'Control selected code'),%ScreenField** **    #RESUME** ** ****#?****END                       #!Conditional source line** **#RESUME** **#SUSPEND** ** ****#?****CASE EVENT()              #!Conditional source line** **  #SUSPEND** **  #?OF EVENT:AlertKey         #!Conditional source line** **    #SUSPEND** **   ****#?****CASE KEYCODE()          #!Conditional source line** **      #FOR %HotKey** **        #RELEASE** **   ****#?****OF %HotKey              #!Conditional source line** **      #EMBED(%HotKeyProc,'Hot Key code'),%HotKey** **      #ENDFOR** **   ****#?****END                     #!Conditional source line** **    #RESUME** ** ****#?****END                       #!Conditional source line** **#RESUME** **END                           #!Unconditional source line** **See Also:**     [[ suspend begin conditional source .htm|#SUSPEND]] ,[[ release commit conditional source generation .htm|#RELEASE]] ,[[ resume delimit conditional source .htm|#RESUME]]