Application.MustFlushScopeBeginning-Ereignis (Visio)

Tritt ein, bevor die Instanz von Microsoft Visio zum Leeren der Ereigniswarteschlange gezwungen ist.

Syntax

Ausdruck. MustFlushScopeBeginning (App)

expression Eine Variable, die ein Application-Objekt darstellt.

Parameter

Name Erforderlich/Optional Datentyp Beschreibung
App Erforderlich [IVAPPLICATION] Die Visio-Instanz, die zum Leeren der Ereigniswarteschlange gezwungen ist.

HinwBemerkungeneise

Mithilfe dieses Ereignisses kann in Verbindung mit dem MustFlushScopeEnded-Ereignis festgestellt werden, ob ein Ereignis ausgelöst wird, weil Visio zum Leeren seiner Ereigniswarteschlange gezwungen ist.

Visio verwaltet eine Warteschlange mit ausstehenden Ereignissen. Der Versuch, diese Ereignisse auszulösen, erfolgt zu separaten Zeiten, wenn willkürliche Anforderungen (Callbacks) von Ereignishandlern verarbeitet werden können.

Gelegentlich ist Visio gezwungen, seine Ereigniswarteschlange zu leeren, wenn keine Möglichkeit zum Verarbeiten der willkürlichen Anforderungen besteht. In diesem Fall löst Visio zuerst ein MustFlushScopeBeginning-Ereignis aus, anschließend löst es alle Ereignisse aus, die sich gerade in der Ereigniswarteschlange befinden. Nach dem Auslösen aller ausstehenden Ereignisse, löst Visio das MustFlushScopeEnded-Ereignis aus.

Nachdem Visio das MustFlushScopeBeginning-Ereignis ausgelöst hat, sollten Clientprogramme bis zum Erhalt des MustFlushScopeEnded-Ereignisses keine Visio-Methoden mit Nebeneffekten aufrufen. Ein Client kann zwischen den von Visio ausgelösten Ereignissen MustFlushScopeBeginning und MustFlushScopeEnded willkürliche Abfragen von Visio-Objekten ausführen, jedoch schlagen Operationen möglicherweise fehl, die Nebeneffekte verursachen.

Visio führt eine erzwungene Leerung der Ereigniswarteschlange unmittelbar vor dem Auslösen eines "before"-Ereignisses wie BeforeDocumentClose oder BeforeShapeDelete durch, da Ereignisse in der Warteschlange für Objekte gelten können, die geschlossen oder gelöscht werden. Anhand des BeforeDocumentClose-Ereignisses als Beispiel können Ereignisse in der Warteschlange vorhanden sein, die für ein Shape-Objekt im zu schließenden Dokument gelten. Bevor das Dokument geschlossen wird, löst Visio also alle Ereignisse in der Ereigniswarteschlange aus.

Beim Löschen eines Shapes werden Ereignisse in der folgenden Reihenfolge ausgelöst:

  1. MustFlushScopeBeginning-Ereignis : Der Client sollte keine Methoden aufrufen, die Nebenwirkungen haben.

  2. Es befinden sich Null (0) oder mehr Ereignisse in der Warteschlange.

  3. BeforeShapeDelete-Ereignis : Shape ist funktionsfähig, wird jedoch von Visio gelöscht.

  4. MustFlushScopeEnded-Ereignis : Der Client kann den Aufruf von Methoden fortsetzen, die Nebenwirkungen haben.

  5. ShapesDeleted-Ereignis : Shape wurde gelöscht.

  6. NoEventsPending-Ereignis : Es müssen keine Ereignisse mehr ausgelöst werden.

Ein Ereignis wird sowohl vor (BeforeShapeDeleted-Ereignis) als auch nach (ShapesDeleted-Ereignis) dem Löschen eines Shapes ausgelöst. Falls ein Programm, das diese Ereignisse überwacht, das Löschen weiterer Shapes als Reaktion auf das erste Löschen eines Shapes erfordert, sollte das Löschen im ShapesDeleted-Ereignishandler und nicht im BeforeShapeDeleted-Ereignishandler erfolgen. Das BeforeShapeDeleted-Ereignis liegt innerhalb des Bereichs des MustFlushScopeBeginning-Ereignisses und des MustFlushScopeEnded-Ereignisses, das ShapesDeleted-Ereignis hingegen nicht.

Die Sequenznummer eines MustFlushScopeBeginning-Ereignisses kann höher sein als die Sequenzanzahl von Ereignissen, die dem Client angezeigt werden, nachdem er das MustFlushScopeBeginning-Ereignis empfangen hat, da Visio Ereignissen Sequenznummern zuweist, sobald sie auftreten. Alle Ereignisse, die beim Beginn der erzwungenen Leerung in die Warteschlange eingereiht wurden, weisen eine niedrigere Sequenznummer als das MustFlushScopeBeginning-Ereignis auf, obwohl das MustFlushScopeBeginning-Ereignis zuerst ausgelöst wird.

Wenn Sie Microsoft Visual Basic oder Visual Basic für Applikationen (VBA) verwenden, beschreibt die Syntax in diesem Thema eine gängige und effiziente Methode zum Verarbeiten von Ereignissen.

Wenn Sie eigene Event-Objekte erstellen möchten, verwenden Sie die Add- oder AddAdvise-Methode .

Verwenden Sie zum Erstellen eines Event-Objekts, das ein Add-On ausführt, die Add-Methode der EventList-Auflistung.

Verwenden Sie zum Erstellen eines Event-Objekts, das eine Benachrichtigung empfängt, die AddAdvise-Methode.

Informationen zum Suchen eines Ereigniscodes für das Ereignis, das Sie erstellen möchten, finden Sie unter Ereigniscodes.

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.