( [int timeoutms] )
This function will sleep for up to timeoutms
milliseconds, or until a message arrives in the queue. If a message or
messages arrives before the timeout, they will be dispatched, and the
function will return TRUE. If the timeout occurs and no messages were
processed, the return value will be FALSE. If you do not specify a
value for timeoutms, then 0 will be assumed. A 0
value means that no waiting will be performed; if there are messages
pending they will be dispatched as before; if there are no messages
pending, the function will return FALSE immediately without sleeping.
The purpose of this function is to route COM calls between apartments and
handle various synchronization issues. This allows your script to wait
efficiently for events to be triggered, while still handling other events
or running other code in the background. You should use it in a loop, as
demonstrated by the example in the com_event_sink()
function, until you are finished using event bound COM objects.