Share via


Evento InvisibleApp.MustFlushScopeBeginning (Visio)

Se produce antes de forzar a la instancia de Microsoft Visio a vaciar su cola de eventos.

Sintaxis

expresión. MustFlushScopeBeginning (aplicación)

Expresión Variable que representa un objeto InvisibleApp .

Parameters

Nombre Obligatorio/opcional Tipo de datos Descripción
Aplicación Obligatorio [IVAPPLICATION] Instancia de Visio que es forzada a vaciar su cola de eventos.

Comentarios

Este evento, junto con el evento MustFlushScopeEnded, puede utilizarse para identificar si un evento se desencadena porque Visio se ve obligado a vaciar su cola de eventos.

Visio mantiene una cola de eventos pendientes que intenta desencadenar en diferentes momentos cuando es capaz de procesar las solicitudes arbitrarias (devoluciones de llamadas) de los controladores de eventos.

Ocasionalmente, Visio se ve forzado a vaciar su cola de eventos cuando no puede controlar las solicitudes arbitrarias. Cuando esto sucede, Visio desencadena primero un evento MustFlushScopeBeginning y, a continuación, los eventos presentes en su cola de eventos. Tras desencadenar todos los eventos pendientes, Visio desencadena el evento MustFlushScopeEnded.

Después de que Visio haya desencadenado el evento MustFlushScopeBeginning, los programas cliente no deben llamar a los métodos de Visio que tengan efectos secundarios hasta que se reciba el evento MustFlushScopeEnded. Un cliente puede realizar consultas arbitrarias de los objetos de Visio cuando Visio se encuentra entre el evento MustFlushScopeBeginning y el evento MustFlushScopeEnded, pero las operaciones con efectos secundarios pueden generar un error.

Visio realiza un vaciado forzoso de su cola de eventos inmediatamente antes de desencadenar un evento "before" como BeforeDocumentClose o BeforeShapeDelete porque puede que los eventos en la cola se apliquen a objetos que están a punto de cerrarse o de ser eliminados. Por ejemplo, en el caso del evento BeforeDocumentClose, puede haber eventos en la cola que se apliquen a un objeto de forma del documento que se está cerrando. Por ello, antes de que se cierre el documento, Visio desencadena todos los eventos de su cola de eventos.

Cuando se elimina una forma, los eventos se desencadenan en la siguiente secuencia:

  1. Evento MustFlushScopeBeginning : el cliente no debe llamar a métodos que tengan efectos secundarios.

  2. Hay cero (0) o más eventos en la cola de eventos.

  3. Evento BeforeShapeDelete : Shape es viable, pero Visio lo va a eliminar.

  4. Evento MustFlushScopeEnded : el cliente puede reanudar la invocación de métodos que tienen efectos secundarios.

  5. Evento ShapesDeleted : la forma se ha eliminado.

  6. Evento NoEventsPending : no queda ningún evento por desencadenar.

Se desencadena un evento tanto antes (evento BeforeShapeDeleted) como después (evento ShapesDeleted) de eliminarse la forma. Si un programa que supervisa estos eventos requiere la eliminación de más formas como respuesta a la eliminación inicial, deberá hacerlo en el controlador de eventos ShapesDeleted y no en el controlador de eventos BeforeShapeDeleted. El evento BeforeShapeDeleted está dentro del ámbito del evento MustFlushScopeBeginning y del evento MustFlushScopeEnded, mientras que el evento ShapesDeleted no lo está.

El número de secuencia de un evento MustFlushScopeBeginning puede ser mayor que el número de secuencia de los eventos que el cliente ve después de recibir el evento MustFlushScopeBeginning, ya que Visio asigna los números de secuencia a los eventos en el momento de producirse. Los eventos colocados en la cola en el momento de iniciarse el vaciado forzoso tienen un número de secuencia menor que el evento MustFlushScopeBeginning, aunque el evento MustFlushScopeBeginning se desencadene primero.

Si utiliza Microsoft Visual Basic o Visual Basic para Aplicaciones (VBA), la sintaxis de este tema describe una forma común y eficaz de controlar los eventos.

Si desea crear sus propios objetos Event , use el método Add o AddAdvise .

Para crear un objeto Event que ejecute un complemento, use el método Add, ya que se aplica a la colección EventList.

Para crear un objeto Event que reciba notificaciones, use el método AddAdvise.

Para encontrar un código de evento para el evento que desea crear, vea el tema sobre los códigos de evento.

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.