roMessagePort
Un puerto de mensajes es el destino al que se envían los mensajes (eventos). Consulte la explicación de Bucles de eventosEvent Loops para obtener más detalles. No llama directamente a estas funciones cuando usa BrightScript. En su lugar, use la Wait() función globalglobal function.
ifMessagePort
GetMessage() As Object
Devuelve el objeto de evento si está disponible. De lo contrario, se devuelve Inválido. En cualquiera de los casos, este método devuelve inmediatamente sin esperar.
WaitMessage(timeout As Integer) As Object
Espera hasta que un objeto de evento esté disponible o hasta que haya transcurrido la cantidad especificada de milisegundos. Cuando un objeto de evento esté disponible, se devolverá. Si se alcanza el tiempo de espera, se devolverá Invalid. Pasar un valor de tiempo de espera de cero indica a este método que espere indefinidamente un mensaje.
También puede usar la función global Wait() para recuperar objetos de evento durante un intervalo especificado. Las siguientes dos instrucciones tienen el mismo efecto:
msg = port.WaitMessage(timeout)
msg = wait(timeout, port)PostMessage(msg As Object) As Void
PeekMessage() As Object
Devuelve el objeto de evento si está disponible (o Invalid en caso contrario), pero no elimina el objeto de evento de la cola de mensajes; una llamada posterior a GetMessage(), WaitMessage(), o PeekMessage() devolverá el mismo objeto de evento.
SetWatchdogTimeout(seconds As Integer) As Integer
Habilita un tiempo de espera del watchdog en la instancia de roMessagePort si se pasa un entero positivo. El watchdog bloqueará y reiniciará el reproductor si el script no llama a GetMessage() o WaitMessage() después del número especificado de segundos (el tiempo de espera se bloquea mientras el script espera en el puerto de mensajes). Pasar cero a este método deshabilita el watchdog.
Algunas operaciones de BrightScript (por ejemplo, roAssetRealizer.Realize()) pueden tardar mucho tiempo en devolver el control. En estos casos, puede ser mejor usar un tiempo de espera corto para el watchdog en general, pero cambiar a un tiempo de espera más largo antes de llamar a dichas operaciones.
El tiempo de espera del watchdog solo se aplica a su instancia asociada de roMessagePort , por lo que habilitar el watchdog en una instancia de roMessagePort y luego llamar a WaitMessage() en otra puede hacer que el watchdog se active inesperadamente. El watchdog no se activará mientras espera en el prompt del depurador de BrightScript.
DeferWatchdog(seconds As Integer)
Pospone el tiempo de espera del watchdog establecido por el método SetWatchdogTimeout() . Pasar un entero a este método pospone el tiempo de espera durante el número especificado de segundos.
DeferWatchdog()
Pospone el tiempo de espera del watchdog por la cantidad de segundos establecida en el método SetWatchdogTimeout() .
Las llamadas a cualquiera de los métodos DeferWatchdog() no pueden hacer que el watchdog se active antes de lo que ya lo haría. Por ejemplo, llamar a DeferWatchdog(100) seguido de DeferWatchdog(10) seguirá haciendo que el watchdog se active después de 100 segundos.
ifEnum
Reset()
Restablece la posición al primer elemento de la enumeración.
Next() As Dynamic
Devuelve el valor tipado en la posición actual y avanza la posición.
IsNext() As Boolean
Devuelve Verdadero si hay un elemento siguiente.
IsEmpty() As Boolean
Devuelve Verdadero si no hay un elemento siguiente.