Compiler Directives as Macros Options

Navigation:  ScriptLine Properties > Macros Options > Initial Conditions >

Compiler Directives as Macros Options

Previous pageReturn to chapter overviewNext page
Run-Time Parameters are used to augment or override the compiler directives of the selected Macros.

 

INCLUDE_HOLIDAYS_LIST: the INCLUDE_HOLIDAYS_LIST directive specifies that the selected macro will require one of the aeiou-Holidays, even though there may be no tokens referring to this holidays list in the current GridTemplate.

INCLUDE_SAINTS_SET: the INCLUDE_SAINTS_SET directive specifies that the selected macro will require one of the aeiou-Saints, even though there may be no tokens referring to this Saints Set in the current GridTemplate.

INCLUDE_NAMEDAYS_SET: the INCLUDE_NAMEDAYS_SET directive specifies that the selected macro will require one of the aeiou-Namedays, even though there may be no tokens referring to this Namedays Set in the current GridTemplate.

MAX_NUM_ITERATIONS: the MAX_NUM_ITERATIONS directive specifies the maximum number of times that any of the loops of the current macro can be performed. This is to avoid an accidental infinite loop while processing your Macro.

MAX_STRING_LENGTH: the MAX_STRING_LENGTH directive specifies the maximum length of any of the string variables of the current macro can have. This is to avoid running out of memory if an infinite loop keeps increasing the size of a string variable indefinitely.

RUNTIME_ERROR_HANDLING: the RUNTIME_ERROR_HANDLING directive specifies what to do (abort the macro only or abort the entire script) in the event that an error is encountered while processing the current Macro during diary generation.

INCLUDE_MACRO: the INCLUDE_MACRO directive specifies that the selected macro refers to a macro of another index, index which may be referred to by any of the tokens of the current GridTemplate.

 

For a more detailed discussion of these parameters, and examples of their usage, click on any of the links above, or on the corresponding part of the screenshot on the right.

 

Although the above Compiler Directives can be set directly in the macro's source code, there are good reasons to override them on a case-by-case basis, here, in the Macros Options:

 

Modifying a run-time parameter in one of your Scripts ensures that you do not break any assumption made be the person who originally wrote the Macro, and other users who have gotten used to using that Macro. The changes you make are limited to the current script. This is particularly the case for the parameter INCLUDE_HOLIDAYS_LIST, INCLUDE_SAINTS_SET, INCLUDE_NAMEDAYS_SET.

 

Values used in a given Script as Input Values may require adjustment to parameters such as MAX_NUM_ITERATIONS and MAX_STRING_LENGTH, which could not be predicted when writing the Macro (and may not be useful for other users of the Macro either).

 

Finally, tokens within the GridTemplate associated with the current DiaryGridLine may require run-time parameter settings which could not be predicted when the macro was written, and which may vary from one GridTemplate to the other.

 

Note that you should not override the value of RUNTIME_ERROR_HANDLING, unless you feel fully confident of what you are doing.


Topic 135800 updated on 19-Jan-2019.
Topic URL: https://www.qppstudio.net/webhelp_xv4/index.html?compilerdirectives2.htm