Evento InvisibleApp.MustFlushScopeBeginning (Visio)

Ocorre antes que a instância do Microsoft Visio seja forçada a jorrar sua fila de eventos.

Sintaxe

expressão. MustFlushScopeBeginning (aplicativo)

Expressão Uma variável que representa um objeto InvisibleApp .

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
App Obrigatório [IVAPPLICATION] A instância do Visio forçada a jorrar sua fila de eventos.

Comentários

Este evento, juntamente com o evento MustFlushScopeEnded, pode ser usado para identificar se um evento está sendo disparado porque o Visio é forçado a jorrar sua fila de eventos.

O Visio mantém uma fila de eventos pendentes que ele tenta disparar em momentos distintos quando pode processar solicitações arbitrárias (retornos) de manipuladores de eventos.

Ocasionalmente, o Visio é forçado a jorrar sua fila de eventos quando não está preparado a manipular solicitações arbitrárias. Quando isso ocorre, o Visio dispara primeiro um evento MustFlushScopeBeginning e, em seguida, dispara os eventos que estão no momento em sua fila de eventos. Após disparar todos os eventos pendentes, o Visio dispara o evento MustFlushScopeEnded.

Após o Visio ter disparado o evento MustFlushScopeBeginning, os programas cliente não deverão chamar métodos do Visio com efeitos colaterais até que o evento MustFlushScopeEnded seja recebido. Um cliente pode executar consultas arbitrárias de objetos do Visio quando o Visio estiver entre os eventos MustFlushScopeBeginning e MustFlushScopeEnded, mas as operações que causam efeitos colaterais poderão falhar.

O Visio executa um jorramento forçado de sua fila de eventos imediatamente antes de disparar um evento "before" como BeforeDocumentClose ou BeforeShapeDelete porque eventos enfileirados podem se aplicar a objetos prestes a serem fechados ou excluídos. Usando o evento BeforeDocumentClose como um exemplo, podem existir eventos enfileirados que se aplicam a um objeto de forma no documento que está sendo fechado. Então, antes que o documento feche, o Visio dispara todos os eventos em sua fila de eventos.

Quando uma forma é excluída, os eventos são disparados na seguinte sequência:

  1. Evento MustFlushScopeBeginning – o cliente não deve chamar métodos que tenham efeitos colaterais.

  2. Existem zero (0) ou mais eventos na fila de eventos.

  3. Evento BeforeShapeDelete – A forma é viável, mas o Visio vai excluí-lo.

  4. Evento MustFlushScopeEnded – o cliente pode retomar a invocação de métodos que têm efeitos colaterais.

  5. Evento ShapesDeleted – A forma foi excluída.

  6. Evento NoEventsPending - Nenhum evento ainda será disparado.

Um evento é disparado antes (evento BeforeShapeDeleted) e depois (evento ShapesDeleted) que a forma é excluída. Se um programa que monitora esses eventos solicita que formas adicionais sejam excluídas em resposta à exclusão de forma inicial, ele deve fazê-lo no manipulador de eventos ShapesDeleted, e não no manipulador de eventos BeforeShapeDeleted. O evento BeforeShapeDeleted fica dentro do escopo dos eventos MustFlushScopeBeginning e MustFlushScopeEnded, enquanto o evento ShapesDeleted não.

O número de sequência de um evento MustFlushScopeBeginning pode ser maior que o número de sequência de eventos que o cliente vê após ter recebido o evento MustFlushScopeBeginning porque o Visio atribui números de sequência a eventos à medida que eles ocorrem. Quaisquer eventos enfileirados quando o jorramento forçado começou possuem um número de sequência mais baixo que o evento MustFlushScopeBeginning, mesmo que o evento MustFlushScopeBeginning dispare primeiro.

Se estiver usando o Microsoft Visual Basic ou o Visual Basic for Applications (VBA), a sintaxe deste tópico descreverá uma maneira comum e eficiente de lidar com eventos.

Se você quiser criar seus próprios objetos Event , use o método Add ou AddAdvise .

Para criar um objeto Event que execute um complemento, use o método Add, uma vez que ele aplica-se à coleção EventList.

Para criar um objeto Event que receba notificação, use o método AddAdvise.

Para localizar um código de evento que você deseja criar, consulte Códigos de eventos.

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.