Erstellen eines bedingten "Please Wait..." Meldungsfeld

Im folgenden Beispiel wird veranschaulicht, wie sie ein bedingtes Meldungsfeld erstellen, das angezeigt wird und den Benutzer warnt, dass eine Hintergrundaufgabe immer noch ausgeführt wird, wenn der Benutzer ein angezeigtes Steuerelement vorzeitig aktiviert.

Das Beispiel veranschaulicht auch, wie das SpawnWaitDialog ControlEvent im Allgemeinen verwendet werden kann, um ein Steuerelement zu schützen, das eine Aktion auslöst, die vom Abschluss einer Hintergrundaufgabe abhängig ist.

In diesem Beispiel wird dem Benutzer während des Installationsvorgangs ein Auswahldialogfeld mit drei Schaltflächen-Steuerelementen mit der Bezeichnung Jetzt installieren, Weiter und Datenträgerkosten angezeigt. Beim Anzeigen dieses Dialogfelds führt das Installationsprogramm jedoch auch im Hintergrund eine Aufgabe mit Kosten für Speicherplatz aus. Der Autor möchte diese Schaltflächen vor der Aktivierung schützen und möchte, dass ein Meldungsfeld "Bitte warten" angezeigt wird, wenn der Benutzer auf eine der Schaltflächen klickt, bevor die Kostenerstellung abgeschlossen ist. Der Autor möchte außerdem, dass dieses Meldungsfeld die Schaltfläche Abbrechen enthält und nicht mehr angezeigt wird, sobald die Hintergrundaufgabe abgeschlossen ist.

So zeigen Sie ein Dialogfeld an, in dem der Benutzer aufgefordert wird, zu warten, bis die Kosten für den Hintergrunddatenträger abgeschlossen sind

  1. Verwenden Sie die Erstellungsfunktionen des Installationsprogramms, um der Dialogtabelle ein neues modales Dialogfeld namens WaitForCosting hinzuzufügen. Das Dialogfeld sollte eine Textzeichenfolge mit dem Hinweis "Please wait while disk space costing is completed" (Bitte warten Sie, bis die Speicherplatzkosten abgeschlossen sind) angezeigt werden.
  2. Fügen Sie diesem Dialogfeld ein einzelnes Schaltflächen-Steuerelement 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 Control-Ereignisses auf Exit fest.
  4. Verknüpfen Sie ein SpawnWaitDialog ControlEvent mit den vorhandenen Steuerelementen Install Now( Jetzt installieren), Next(Weiter) und Disk Cost (Datenträgerkosten), die im Dialogfeld Auswahl angezeigt werden. Legen Sie das Argument dieses ControlEvent in der ControlEvent-Tabelle auf das Dialogfeld WaitForCosting fest, und legen Sie den Ausdruck in der Spalte Bedingung der Tabelle auf CostingComplete =1 fest.