User Tools

Site Tools



This shows you the differences between two versions of the page.

Link to this comparison view

en:actions:actionbeginprocedure [2020/02/09 13:26]
en:actions:actionbeginprocedure [2021/02/13 11:23] (current)
Line 1: Line 1:
 +====== Begin procedure ======
 +This action allows you to start a procedure declaration.
 +A procedure contains actions inserted between a [[en:actions:ActionBeginProcedure|Begin procedure action]] and a [[en:actions:ActionEndProcedure|End procedure action]]. A procedure can be called using a [[en:actions:ActionCallProcedure|Call procedure action]] or any "If true/false/etc" parameter. When the actions contained within the procedure have been executed the execution automatically jumps after the action that made the procedure call.
 +Procedures have the following limitations:
 +  * Each procedure has an unique, non-empty name that cannot be dynamically set
 +  * Is not allowed to declare a procedure within another procedure
 +  * Each Begin procedure action has to have exactly one End procedure action
 +  * Variables declared within the procedure will be kept outside the procedure (this is not the case in most programming languages)
 +  * Procedures doesn't have any parameters (yet)
 +Note also that:
 +  * Recursive calls are allowed (a procedure can call itself)
 +  * You can call a procedure before it is declared
 +  * You should not use any [[en:actions:ActionGoto|Goto action]], conditional actions, nor jump outside the procedure because doing this will prevent the execution to go back to the calling action
 +  * You should not mix gotos and procedures
 +[//Added in Actionaz 3.4.0.//]
 +===== Standard parameters =====
 +==== Input parameters ====
 +== Name ==
 +The name of the procedure.
 +===== Exceptions =====
 +  * [[en:actions:exceptions#Bad parameter|Bad parameter]]
 +  * [[en:actions:exceptions#Code error|Code error]]
 +  * [[en:actions:exceptions#Timeout|Timeout]]