Pufferstatus (Rezeptdaten)

Zeigt den Status der Rezeptdaten im Rezeptpuffer an.

Der zentrale Ort für die Verarbeitung der Rezeptdaten ist der Rezeptpuffer. Von hier aus können die Daten in eine Rezeptdatei gespeichert oder in den Prozess geschrieben werden. Sind die Rezeptdaten im Puffer verändert worden, zeigen zwei Merker im Pufferstatus dies an. Diese Merker sind vergleichbar mit dem * in anderen Programmen. Wird z. B. eine Textdatei in einen Editor geladen und dann bearbeitet, so zeigt der Editor dies in der Titelzeile mit einem * an. Im Rezeptpuffer gibt es zwei Merker, da es auch zwei Speicherziele für die Rezeptdaten gibt und die Daten unabhängig in das eine oder das andere Ziel übertragen werden können: in die Rezeptdatei und in den Prozess (Variablenserver).

Die beiden Merker können nur über das VisiWin-API mithilfe des RezeptklassenobjektesRecipeClass abgerufen werden.

HasChangesForProcess
Es liegen Änderungen im Rezeptpuffer vor, die noch nicht in den Prozess geschrieben wurden.
HasChangesForFile
Es liegen Änderungen im Rezeptpuffer vor, die noch nicht in eine Rezeptdatei gespeichert wurden.

Durch verschiedene Aktionen werden diese Merker unterschiedlich beeinflusst:

Bedienereingaben
Über den Rezeptclient werden Daten in den Rezeptpuffer geschrieben, z. B. durch Bedienereingaben in Steuerelementen. Beide Merker werden auf true gesetzt, da diese Werte noch nicht in den Variablenserver noch in eine Datei geschrieben wurden.
Lesen
Über die Aktion Lesen werden die Variablenwerte aus dem Variablenserver in den Rezeptpuffer übertragen. Damit stimmen sie mit den Prozessdaten überein, also HasChangesForProcess=false. Die Werte wurden aber noch nicht in eine Datei gespeichert, also HasChangesForFile=true.
Schreiben
Über die Aktion Schreiben werden die Variablenwerte aus dem Rezeptpuffer in den Variablenserver übertragen, damit stimmen beide überein, also HasChangesForProcess=false. Der Merker für die Datei wird nicht verändert.
Speichern
Über die Aktion Speichern werden die Variablenwerte aus dem Rezeptpuffer in eine Datei gespeichert. Daher gibt es keine Änderungen bzgl. Dateien, also HasChangesForFile=false. Der Merker für den Prozess wird nicht verändert.
Laden
Über die Aktion Laden wird der Inhalt einer Datei in den Rezeptpuffer geladen. Damit stimmen die Rezeptpufferwerte mit den Dateiwerten überein, also HasChangesForFile=false. Die Werte wurden aber noch nicht in den Prozess geschrieben, also HasChangesForProcess=true.
Initialisieren
Über die Aktion Initialisieren (im Bild nicht gezeigt) werden die Variablen im Rezeptpuffer mit bestimmten Werten vorbelegt. Diese Aktion wird durch den Bediener über eine Schaltfläche ausgelöst und führt folglich zu den gleichen Ergebnissen wie die Aktion Bedienereingabe.
Anmerkung: Die Aktion Senden verändert die Merker nicht, da die Daten am Rezeptpuffer vorbei fließen.