Erstellen eines bedingten Meldungsfelds für „Bitte warten...“

Das folgende Beispiel veranschaulicht die Erstellung eines bedingten Meldungsfelds, das eingeblendet wird, um den Benutzer auf die Ausführung einer Hintergrundaufgabe aufmerksam zu machen, wenn der Benutzer ein angezeigtes Steuerelement vorzeitig aktiviert.

Das Beispiel zeigt auch, wie SpawnWaitDialog ControlEvent im Allgemeinen zum Schutz eines Steuerelements verwendet werden kann, das eine vom Abschluss einer Hintergrundaufgabe abhängige Aktion auslöst.

In diesem Beispiel wird dem Benutzer während des Installationsprozesses ein Auswahldialogfeld mit drei Schaltflächensteuerelementen namens Jetzt installieren, Weiter und Speicherplatz angezeigt. Der Installer führt im Hintergrund jedoch auch eine Aufgabe zur Speicherplatzberechnung aus, während dieses Dialogfeld angezeigt wird. Der Autor möchte diese Schaltflächen vor Aktivierung schützen und ein Meldungsfeld „Bitte warten“ anzeigen lassen, wenn der Benutzer auf eine der Schaltflächen klickt, bevor die Berechnung abgeschlossen ist. Der Autor möchte zudem eine Schaltfläche Abbrechen in dieses Meldungsfeld aufnehmen und das Meldungsfeld ausblenden, sobald die Hintergrundaufgabe abgeschlossen ist.

So zeigen Sie ein Dialogfeld an, in dem der Benutzer aufgefordert wird, den Abschluss der im Hintergrund ausgeführten Speicherplatzberechnung abzuwarten

  1. Verwenden Sie die Erstellungsfunktionen des Installers, um der Dialog-Tabelle ein neues modales Dialogfeld namens WaitForCosting hinzuzufügen. Im Dialogfeld soll eine Textzeichenfolge mit der Meldung „Bitte warten, bis der Speicherplatzbedarf auf dem Datenträger berechnet wurde" angezeigt werden.
  2. Fügen Sie diesem Dialogfeld ein einzelnes Schaltflächensteuerelement mit der Bezeichnung Abbrechen hinzu, indem Sie es in der Control-Tabelle erstellen.
  3. Verknüpfen Sie die Schaltfläche Abbrechen mit einem ControlEvent, das das Dialogfeld WaitForCosting schließt, indem Sie ein EndDialog ControlEvent in der ControlEvent-Tabelle erstellen. Legen Sie das Argument des EndDialog-Steuerelementereignisses auf „Exit“ (Beenden) fest.
  4. Verknüpfen Sie ein SpawnWaitDialog ControlEvent mit den vorhandenen Schaltflächensteuerelementen Jetzt installieren, Weiter und Speicherplatz, die im Auswahldialogfeld angezeigt werden. Legen Sie das Argument dieses ControlEvents in der ControlEvent-Tabelle auf das Dialogfeld WaitForCosting fest, und legen Sie den Ausdruck in der Condition-Spalte der Tabelle auf CostingComplete =1 fest.