| %include <filename> | Insert a <filename> file into the text; the file name is the text up to the end of the line. The file name is entered including the directory relatively with respect to the Drivers\directory. A file name cannot contain a for cycle variable. |
| %include <filename> (<par1>,<par2>,..) | The same as with %include, in addition, defines the parameters transferred as those available via %1, %2, ..macros <par?> All characters between "(" and/or "," and "," and/or ")"; the parameters may not contain quote or bracket characters. |
| %include><indent> | As above, plus inserts a number of spaces specified before each line when pasted (similar as %inclSUB>X). |
| %inclSUB[><indent>] <subroutine> [(<par1>,<par2>,..)] | Inserts a code from a sub-program with <subroutine> identification to the current location of the file source, defines forwarded parameters as those available via %1, %2, .. macros <par?> or via identifiers of parameters defined under %SUBROUTINE, where the value of such parameters includes all characters between "(" and/or "," and "," and/or ")"; <indent> is an optional indent parameter - a decimal number providing a number of spaces to be inserted at the start of every sub-program line; if not provided otherwise, the spaces are inserted according to the indentation of the %inclSUB command; the current indent is specified by the %SUBROUTINE_INDENT macro. |
| Comments for forwarding parameters to the sub-routine: |
If the number of parameters forwarded prior macro replacement is equal to that of the sub-routine parameters, then the parameters are separated first, and macro replacement is applied subsequently. This will allow for forwarding parameters containing characters like quotes or enclosing brackets, for example,
%SUBROUTINE showhint(hintmsg) %hint %hintmsg %SUBROUTINE_END %define tmp Long hint including comma, and round brackets ) () %inclSUB showhint(%tmp) |
| %inclSUB>>> | A special variant of the %inclSUB command serving for use of the sub-routine without forced indent into the code with a forced indent (see %>>> and %<<<commands): inserts the sub-routine with the indent defined by these commands without applying the forced indent within the sub-routine inserted this way; other command parameters including execution are identical as these of the preceding command variant. |
| %launchDLL | <DLLname>,<functionname>[,<parameters>] calling external DLL; <actionname>- this parameter is not supported for MCU10; <DLLname> may also contain a relative path to the PE or Windows system directory (for example, Drivers\SW\DLL\MyDllDriver.dll or Components\MyComponent\DLL\MyDllWizard.dll), specifying the .dll extension is optional; <functionname> is the name of the function to be called, function prototype: function <functionname>(Params:pchar; var MacroCmds, NewDefines:pchar):pchar; register far; or function <functionname>_STD (Params:pchar; var MacroCmds, NewDefines:pchar):pchar; stdcall far;Optionally, arbitrary parameters can be forwarded to the function, see <parameters>. The parameters are forwarded to the function in the form specified within the line via the%launchDLLcommand in the Params parameter. The function will return the output that can be included into current active section of the driver, lines to be separated by CR/LF (this output will not be processed by the macro-processor); including, for example,NULL. Optionally, the function will return in the MacroCommands parameter commands for the macro-processor (lines separated by <CRLF>) to be executed immediately upon finishing DLL (may include the%define or %setcommands); however, nothing will be generated into the output. Not implemented so far:Optionally,NewDefinescontains definition of new symbols in the form as follows: NAME=VALUE<CRLF>; old values will be re-defined. |
| If DLL contains the SetParent function, the function is called with the Handle parameter of the main application window:procedure SetParent(Handle:HWND); register far; procedure SetParent_STD(Handle:HWND); stdcall far; | |
| %launchExt | <ExternalObjectRelFileName>,<function-name>[,<parameters>] invoke function from external object (either DLL, shared object, JAR class or class); this command is supported only on Eclipse pure Java PE-service; <ExternalObjectRelFileName> is relative path and file name of the Windows DLL library, Linux shared object or JAR class, file extension is optional, path is relative to component directory, Processor Expert root directory or system directory and <function-name> is name of function, that will be invoked and <parameters> is optional list of parameters passed to the function. If the external object extension is not specified, firstly JAR library is looked for, secondly running OS native dynamic library extension is used (.dll on MS Windows or .so in Linux). Also, <function-name> may not end with suffix _STD as this suffix is used internaly to distinguish calling convention of external object function. For more details see External Libraries. |
| %checkList | (<list_name>,<new_list_name>,<title>,<header>[,<hint_list>][,AllowOnlyOne]) displays a check box dialogue for each item of the list_name list with the title sub-title and the header sub-title, if the new_list_name list had been defined prior starting the dialogue, it must contain the list values that should be checked by default (if the list is not defined, all values will be checked implicitly); once the dialogue is terminated, the new_list_name list will be defined/re-defined for all items that are left checked by the user; the optional hint_list list can contain a description of bubble tips for each item (the number of v items must match that in the list_name list). Due to the optional AllowOnlyOne parameter, only a single value can be selected out of the offer. |
| %msg | Command description is below. |