dispatch

Typecommand
DictionaryLCS
LibraryLiveCode Script
Syntax
dispatch <message> [ to <target> ][ with <argumentList> ]
Summary

Sends a message to an object via the normal message path.

Introduced3.5
OSmac, windows, linux, ios, android
Platformsdesktop, server, mobile
Parameters
NameTypeDescription
message

Is an expression that evaluates to the name of a handler.

target

A reference to any LiveCode object.

argumentList

A comma separated list of expressions containing the arguments to send. Arrays are expressions and are valid to send as arguments.

Example
dispatch "updateWidget"
on mouseUp
  local tWidth, tHeight

  put 200 into tWidth
  put 100 into tHeight
  dispatch "setSize" with tWidth, tHeight
end mouseUp

on setSize pWidth, pHeight
  set the width of graphic "myRectangle" to pWidth
  set the height of graphic "myRectangle" to pHeight
end setSize
# An example of using an array as an argument

on mouseUp
  local tDataArray

  put "Mickey" into tDataArray["firstName"]
  put "Mouse" into tDataArray["lastName"]

  dispatch "updateUI" to card "myCard" with "Hello World", tDataArray
end mouseUp

on updateUI pTitle, @pArray
  put pTitle into field "Title"
  put pArray["firstName"] into field "First Name"
  put pArray["lastName"] into field "Last Name"
end updateUI
Values
NameTypeDescription
It

Set by dispatch to indicate how the message was processed.

handled: the message was handled and not passed
unhandled: no matching handlers were found
passed: the message was handled but passed by all handlers
RelatedKeyword: me, it
Property: behavior
Message: closeControl, preOpenControl
Command: send
Control Structure: on
Description

Use the dispatch command to send a message to an object, via the message path and find out whether it was handled or not.

The dispatch command is most useful when using behaviors, as it allows a behavior script to send an 'event' to one of its child objects and then perform an action depending on the outcome.

Executing a dispatch command causes the message to be sent to the target object with the given argument list. This message passes through the message path in the normal way.

If no target is specified, the message is sent to ' me '. In the context of a behavior, this is typically the child that is executing rather than the behavior object itself.

Tagsmessages