Skip to content
Menu
Menu

Knowledge Base

KB050082 | ZUSTÄNDE MERKEN IN DER EREIGNISVERARBEITUNG DER BEDIENSTATION

KB050082 | ZUSTÄNDE MERKEN IN DER EREIGNISVERARBEITUNG DER BEDIENSTATION

Produkt: Elvis
Version: 2.3
Stand: 2005-04-06

Zusammenfassung

Manchmal möchte man innerhalb der Ereignisverarbeitung der Bedienstation bestimmte Zustände behalten, um sie später in anderen Ereignissen benutzen zu können. Beispiele:

  • Zusammensetzen eines Wertes aus verschiedenen Ereignissen (z.B. Zahleneingabe auf einem „Ziffernblock“)
  • Zwischenspeichern von aufwändig berechneten Werten

Dieser Artikel beschreibt verschiedene Möglichkeiten, solche Zustände zu speichern.

Einzelheiten

Möglichkeit 1: Datenpunkt-Eigenschaft

Von der Ereignisverarbeitung kann man über Database.Datapoint(name).eigenschaft auf Datenpunkteigenschaften zugreifen und dort Zustände merken.

Achtung: Wenn mehrere Bedienstationen gleichzeitig aktiv sind, benutzen bei dieser Lösung alle den gleichen Wert! Ob das erwünscht ist, hängt von der Anwendung ab, meistens ist das nicht der Fall.

Diese Methode merkt sich Werte auch über die Lebensdauer der Seite, je nach „Persistenz“ des Datenpunktes auch über die Laufzeit des Servers, hinaus.

Beispiel:

//CODE:vb:Sub MyButton_Click()
 Database.Datapoint("Page5_State").ActualValue = 1
End Sub//CODE
Möglichkeit 2: Kontrollelement-Eigenschaft

Von der Ereignisverarbeitung kann man über <tt>Form.name.eigenschaft</tt> auf Kontrollementeigenschaften zugreifen und dort Zustände merken. Das Kontrollelement kann ein sowieso auf der Seite vorhandenes Element sein, oder ein speziell für diesen Zweck eingefügtes (evtl. verstecktes) Kontrollelement sein. Die möglichen Eigenschaften hängen vom Typ des Kontrollelements ab, eine Liste finden Sie im Elvis-Projektierer-Handbuch im Kapitel Bedienstation-Objekte, Unterkapitel Kontrollelement.

Die Kontrollelemente (und ihre Eigenschaften) existieren für jede Seite getrennt und solange die Seite dargestellt wird, daher beeinflussen sich verschiedene Seiten nicht.

Um ein Kontrollelement zu verstecken, fügen Sie in Form_Load folgende Zeile ein:

Form.name.Visible = False
Form.name.Enabled = False

Beispiele:

//CODE:vb:Sub Button1_Click()
 Form.TextOutput1.Caption = Form.TextOutput1.Caption & "1"
End Sub//CODE
//CODE:vb:Sub Button2_Click()
 Form.AnalogInput1.Value = CInt(Form.AnalogInput1.Tag)
End Sub//CODE
Möglichkeit 3: Variable unter (global)

In der Ereignisverarbeitung können für jede Seite globale Variablen definiert werden. Diese können innerhalb einer Ereignisverarbeitung benutzt werden. Allerdings behalten diese Variablen ihre Werte nur während ein Ereignis (Form_Load, Form_Unload, Form_DatapointChanged, Kontrollelement_Ereignis) abgearbeitet wird, so dass sie für diesen Zweck eher nicht brauchbar sind.

Möglichkeit 4: Registry

Es ist recht einfach, den Zustand in einem Wert in der Registry abzuspeichern, dazu stehen die eingebauten Funktionen SetPersistentValue/GetPersistentValue zur Verfügung (siehe Hilfefunktion zur Elvis-Projektierung).

Wenn mehrere Bedienstationen gleichzeitig auf dem gleichen Computer aktiv sind, benutzen bei dieser Lösung alle den gleichen Wert! Das dürfte in der Praxis aber wohl kein Problem darstellen.

Beispiel:

//CODE:vb:Sub ButtonCount_Click()
 Dim count As Integer
 count = GetPersistentValue("Page5", "Count", 0)
 SetPersistentValue "Page5", "Count", count+1
End Sub//CODE

Support Area

KB050082 | ZUSTÄNDE MERKEN IN DER EREIGNISVERARBEITUNG DER BEDIENSTATION

Knowledge Base

Hier finden Sie Antworten, Problemlösungen und Beispiele zu unseren Produkten.
KB050082 | ZUSTÄNDE MERKEN IN DER EREIGNISVERARBEITUNG DER BEDIENSTATION

Case Studies

Erfolgreich im Einsatz: Praxisbeispiele unserer Produkte und Individualentwicklungen.
KB050082 | ZUSTÄNDE MERKEN IN DER EREIGNISVERARBEITUNG DER BEDIENSTATION

Support

Beschreiben Sie ihr Anliegen über unser Supportformular.
KB050082 | ZUSTÄNDE MERKEN IN DER EREIGNISVERARBEITUNG DER BEDIENSTATION

Lizenzregistrierung

Registrieren Sie ihre Elvis-Lizenz!

IT GmbH · An der Kaufleite 12 · D-90562 Kalchreuth

KB050082 | ZUSTÄNDE MERKEN IN DER EREIGNISVERARBEITUNG DER BEDIENSTATION

BÜRO
Telefon: +49 911 5183490
E-Mail: info@it-gmbh.de

VERTRIEB
Telefon: +49 911 5183490
E-Mail: vertrieb@it-gmbh.de

partner-knx

© Copyright 2024. IT GmbH | designed by Appear Online