Событие Application.MustFlushScopeBeginning (Visio)

Происходит до того, как экземпляр Microsoft Visio вынужден очистить свою очередь событий.

Синтаксис

выражение. MustFlushScopeBeginning (приложение)

выражение: переменная, представляющая объект Application.

Параметры

Имя Обязательный или необязательный Тип данных Описание
приложение Обязательный [IVПРИЛОЖЕНИЕ] Экземпляр Visio, вынужденный очистить очередь событий.

Примечания

Это событие вместе с событием MustFlushScopeEnded можно использовать, чтобы определить, вызывается ли событие из-за того, что Visio вынужден очистить свою очередь событий.

Visio поддерживает очередь ожидающих событий, которые он пытается запустить в дискретные моменты, когда он может обрабатывать произвольные запросы (обратные вызовы) от обработчиков событий.

Иногда Visio вынужден сбрасывать свою очередь событий, если он не готов к обработке произвольных запросов. Когда это происходит, Visio сначала запускает событие MustFlushScopeBeginning , а затем события, которые в данный момент находятся в его очереди событий. После запуска всех ожидающих событий Visio запускает событие MustFlushScopeEnded .

После того как Visio активировал событие MustFlushScopeBeginning , клиентские программы не должны вызывать методы Visio, имеющие побочные эффекты, до получения события MustFlushScopeEnded . Клиент может выполнять произвольные запросы к объектам Visio, когда Visio находится между событиями MustFlushScopeBeginning и MustFlushScopeEndeded , но операции, вызывающие побочные эффекты, могут завершиться ошибкой.

Visio выполняет принудительную очистку очереди событий непосредственно перед запуском события до, такого как BeforeDocumentClose или BeforeShapeDelete , так как события в очереди могут применяться к объектам, которые вот-вот закроются или будут удалены. Используя в качестве примера событие BeforeDocumentClose , можно отметить, что существуют события в очереди, которые применяются к объекту-фигуре в закрываемом документе. Таким образом, перед закрытием документа Visio запускает все события в своей очереди событий.

При удалении фигуры события запускаются в следующей последовательности:

  1. Событие MustFlushScopeBeginning — клиент не должен вызывать методы, имеющие побочные эффекты.

  2. В очереди событий нет (0) или более событий.

  3. Событие BeforeShapeDelete — фигура является жизнеспособной, но Visio собирается удалить ее.

  4. Событие MustFlushScopeEnded — клиент может возобновить вызов методов с побочными эффектами.

  5. Событие ShapesDeleted — фигура удалена.

  6. Событие NoEventsPending — событий не осталось для запуска.

Событие запускается как до (событие BeforeShapeDeleted ), так и после (событие ShapesDeleted ) удаления фигуры. Если программа, отслеживающая эти события, требует удаления дополнительных фигур в ответ на первоначальное удаление фигуры, она должна сделать это в обработчике событий ShapesDeleted , а не в обработчике событий BeforeShapeDeleted . Событие BeforeShapeDeleted находится в областях событий MustFlushScopeBeginning и MustFlushScopeEndedd, а событие ShapesDeleted — нет.

Порядковый номер события MustFlushScopeBeginning может быть больше, чем порядковый номер событий, который клиент видит после получения события MustFlushScopeBeginning , поскольку Visio присваивает порядковые номера событиям по мере их возникновения. Все события, которые были поставлены в очередь при начале принудительного сброса, имеют меньший порядковый номер, чем событие MustFlushScopeBeginning , даже если событие MustFlushScopeBeginning запускается первым.

Если вы используете Microsoft Visual Basic или Visual Basic для приложений (VBA), синтаксис в этом разделе описывает распространенный и эффективный способ обработки событий.

Если вы хотите создать свои собственные объекты Event , используйте метод Add или AddAdvice .

Чтобы создать объект Event , который запускает надстройку, используйте метод Add , применяемый к коллекции EventList .

Чтобы создать объект события , получающий уведомление, используйте метод AddAdvice .

Чтобы найти код события для события, которое вы хотите создать, см. Коды событий.

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.