Arguments - Raise Event Operation (Magic xpa 3.x)
This property defines the arguments that will be sent to the event handler once the event is invoked. The Arguments property displays the number of arguments passed from the raised event. You can zoom from this property to the Argument repository to pass the required arguments.
The passed arguments can be received in the handler when you create Parameter variables inside the handler. The passed arguments are entered into the handler’s parameters according to their order, so that the first argument is entered into the first parameter, and so on.
If the corresponding handler has no parameters defined, the passed arguments will be entered into the handler’s Virtual variables according to their order.
Variables can be sent By Reference or By Value:
-
By Reference – Variables passed as arguments from a synchronous Raise Event operation, where Wait=Yes, are updated by any change in the value of the corresponding parameter of the handler.
-
By Value – Variables passed as arguments from an asynchronous Raise Event operation, where Wait=No, will not be updated by changes in the value of the handler parameter.
If the argument passed is an expression, it is considered to be By Value, so the updated value will not be returned.
Arguments passed to a handler that propagates the event are also passed to the next corresponding handler. If an argument is passed By Reference, such as an argument passed as a variable from a synchronous Raise Event operation, and the first handler updates it, then the next handler receives the updated value. If an argument is passed By Value, such as an argument passed as an expression or passed from an asynchronous Raise Event operation, the next handler always receives the original value of the argument passed by the Raise Event operation.
Note:
|
Even if the first handler does not have parameters defined to receive the arguments, the next handler can still receive the arguments. You do not have to define the parameters in a lower handler if you only need to receive the arguments in the next handler.
|