Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ InTouch HMI

Modale Fenster und die Funktion „ShowGraphic()“

Modale Fenster und die Funktion „ShowGraphic()“

  • Last UpdatedSep 25, 2024
  • 4 minute read

Wenn Sie mit der Skriptfunktion ShowGraphic ein modales Popup-Fenster öffnen, wird die Skriptausführung unterbrochen und erst fortgesetzt, wenn Sie das modale Fenster wieder schließen.

Wenn Sie mehrere modale Popup-Fenster nacheinander öffnen, müssen Sie sie in umgekehrter Reihenfolge wieder schließen. Sie können immer nur auf das jeweils zuletzt geöffnete Fenster zugreifen. Dies liegt unter anderem daran, dass ein Skript, aus dem heraus ein modales Fenster geöffnet wird, an dieser Stelle unterbrochen wird. Um sicherzustellen, dass all diese unterbrochenen Skripte korrekt abgeschlossen werden können, müssen die Fenster in der korrekten Reihenfolge wieder geschlossen werden. Daher können Sie kein Fenster schließen, das unter einem modalen Fenster liegt.

Die folgenden Beispiele Nr. 1 und 2 verdeutlichen das Verhalten beim Öffnen von modalen Fenstern mit der Funktion ShowGraphic.

Beispiel Nr. 3 zeigt ein spezifisches Szenario, bei dem modale Fenster mit derselben Identität in Verbindung mit dem RAM-Cache für Symbole verwendet werden.

Beispiel 1: Aus dem nichtmodalen Symbol S1 wird mit der Funktion „ShowGraphic()“ über ein Skript das nichtmodale Symbol S2 geöffnet. Die nichtmodale Grafik S2 öffnet das modale Symbol3 (S3) mit einer ShowGraphic-Skriptfunktion. In diesem Szenario gilt Folgendes:

  • Das Skript in S2, aus dem heraus S3 geöffnet wurde, wird erst fortgesetzt, wenn S3 geschlossen wird. Es ist also beispielsweise nicht möglich, aus diesem Skript heraus S2 mit der Funktion HideSelf direkt nach dem Öffnen von S3 zu schließen.

  • S2 kann nicht mit der Schließen-Schaltfläche geschlossen werden.

  • S2 kann nicht mit einem HideGraphic-Aufruf aus einem anderen Fenster geschlossen werden, solange die modale Grafik S3 noch geöffnet ist und das Skript in S2 noch nicht beendet wurde.

  • S2 kann nicht über einen ShowGraphic-Aufruf mit derselben Identität geschlossen werden, solange die modale Grafik S3 noch geöffnet ist und das Skript in S2 noch nicht beendet wurde.

  • S1 kann mit einem HideGraphic-Aufruf aus einem anderen Fenster geschlossen werden, da die aus S1 geöffnete Grafik S2 nicht modal ist.

Beispiel 2: Aus dem nichtmodalen Symbol S1 wird mit der Funktion „ShowGraphic()“ über ein Skript das modale Symbol S2 geöffnet. Die modale Grafik S2 öffnet das modale Symbol3 (S3) mit einer ShowGraphic-Skriptfunktion. In diesem Szenario gilt Folgendes:

  • Das Skript in S1, aus dem heraus S2 geöffnet wurde, wird erst fortgesetzt, wenn S2 geschlossen wird. Es ist also beispielsweise nicht möglich, aus diesem Skript heraus S1 mit der Funktion HideSelf direkt nach dem Öffnen von S2 zu schließen.

  • Das Skript in S2, aus dem heraus S3 geöffnet wurde, wird erst fortgesetzt, wenn S3 geschlossen wird. Es ist also beispielsweise nicht möglich, aus diesem Skript heraus S2 mit der Funktion HideSelf direkt nach dem Öffnen von S3 zu schließen.

  • S1 und S2 können nicht mit der Schließen-Schaltfläche geschlossen werden.

  • S2 kann nicht mit einem HideGraphic-Aufruf aus einem anderen Fenster geschlossen werden, solange die modale Grafik S3 noch geöffnet ist.

  • S1 kann nicht mit einem HideGraphic-Aufruf aus einem anderen Fenster geschlossen werden, solange die modale Grafik S2 noch geöffnet ist.

  • S2 kann nicht über einen ShowGraphic-Aufruf mit derselben Identität geschlossen werden, solange die modale Grafik S3 noch geöffnet ist.

  • S1 kann nicht über einen ShowGraphic-Aufruf mit derselben Identität geschlossen werden, solange die modale Grafik S2 noch geöffnet ist.

  • S3 kann mit einem HideGraphic-Aufruf aus einem anderen Fenster oder über die Schließen-Schaltfläche geschlossen werden.

Obwohl Sie eine Grafik schließen können, indem Sie eine andere Grafik mit derselben Identity öffnen und damit die Originalgrafik effektiv ersetzen, empfehlen wir, nicht dieselbe Identity zu verwenden wie eine Grafik, die mit ShowGraphic in einem modalen Dialog geöffnet wurde.

Beispiel 3: Wenn die Funktion Ram-Cache für Grafiken aktiviert ist, hat ein ShowSymbol (SS) eine Schaltfläche zum Anzeigen von grafischem Symbol1 (S1) (modal) und eine weitere Schaltfläche zum Anzeigen von grafischem Symbol1 (S1) (nichtmodal). S1 ist so konfiguriert, dass Symbol2 (S2) mit der Funktion ShowGraphic() geöffnet wird. In diesem Szenario gilt Folgendes:

  • Klicken Sie auf die Schaltfläche S1 „Grafik anzeigen“ (modal), um das Pop-up S1 zu öffnen. Klicken Sie in S1 auf die Schaltfläche mit dem ShowGraphic-Skript. S2 wird nun in einem Popup-Fenster mit dem Titel „Grafik01“ geöffnet.

  • Sie können jetzt Daten in S2 eingeben.

  • Lassen Sie das Popup-Fenster geöffnet und klicken Sie in S0 auf die Schaltfläche, mit der S1 modal geöffnet wird. S1 wird in einem Popup-Fenster geöffnet. Klicken Sie in S1 auf die Schaltfläche mit dem ShowGraphic-Skript. S2 wird nun in einem Popup-Fenster mit dem Titel „Grafik01“ geöffnet. Dieses Fenster ersetzt das vorhandene Popup-Fenster „Grafik01“.

  • Wenn der RAM-Cache für Symbole aktiviert ist, kann S1 nicht von „modal“ auf „nichtmodal“ umgestellt werden.

  • Sie können keine Daten in S2 eingeben.

  • Alternative: Schließen Sie das Symbol S2, das aus der nichtmodalen Instanz von S1 geöffnet wurde. Öffnen Sie dann S1 modal und klicken Sie auf auf die Schaltfläche mit dem ShowGraphic-Skript, um S2 mit der Identität „Grafik01“ zu öffnen.

  • Sie können jetzt Daten in S2 eingeben.

Weitere Informationen zu Beispiel 3 finden Sie unter Verhalten der Funktion ShowGraphic bei Symbolfenstern mit derselben Identität.