4D v16Prozesse |
||
|
4D v16
Prozesse
Prozesse
Diese Sequenz erläutert die Lebensdauer eines Prozesses: Anlegen, Dauer und Ende. Prozesse sind oft in multi-tasking Jobs integriert. Sie ermöglichen, mehrere Jobs gleichzeitig zu erstellen, wobei der erste Prozess nicht abgeschlossen sein muss, bevor der zweite beginnt. Nehmen wir an, Sie wollen auf das zuvor eingerichtete Statistik-Modul zugreifen. Es soll aktiv bleiben, während Sie etwas anderes ausführen. Zuerst erstellen wir den Aufruf des Statistikdialogs im Formular Navigator:
in deren Methode führen wir, wie im 1. Dialog, folgendes aus:
Wir testen das. Wir haben eine Schaltfläche Stats, die die passende Statistik anzeigt. Wir können jedoch nicht mehr im Formular Navigator arbeiten, da es im Hintergrund ist. Es gibt aber einen Weg, um mit mehreren Fenstern zu arbeiten; hier ist es sinnvoll, mit verschiedenen Prozessen zu arbeiten. Das richten wir jetzt ein. Sie erstellen mit der Funktion New process einen Prozess, der von einer Methode aufgerufen wird.
In diesem Fall erstellen wir eine Methode Display Stats zur Anzeige von Stats. Wir schneiden den Code der Schaltfläche Stats aus, fügen ihn in die neu erstellte Methode ein und ersetzen den Code der Schaltfläche durch: vProcessNum:=New process("Display_Stats";1024*1024;"Statistics")
In 4D gibt es einen Parameter * (Stern), den Sie als letzten Parameter übergeben können und der in vielen Befehlen verwendbar ist. Dann wird derselbe Prozess nicht mehrfach angelegt. Weitere Informationen dazu im Handbuch 4D Programmiersprache. Wir testen die Arbeitsweise. Klicken wir auf die Schaltfläche Stats:
Es wäre sogar möglich, wenn das Jahr im Formular konfiguriert ist, die Statistik von einem Jahr und von einem weiteren in zwei verschiedenen Fenstern zu haben. Sie müssen beachten, dass jeder Prozess seine eigene Umgebung hat; d.h. führen wir hier eine Berechnung aus, erhalten wir bestimmte Teilinformation, egal wie viele Datensätze da sind. Sie sollten also verstehen, dass ein Prozess:
Haben wir 2 Prozesse, die dieselbe Methode ausführen, kann jeder andere Informationen haben. Werden mehrere Prozesse erstellt und im Schrittmodus durchlaufen, zeigt 4D alle angelegten Prozesse:
Wir können sie also Schritt für Schritt prüfen, beim Berechnen wird die angeklickte Methode durchlaufen. Durchlaufen wir einen anderen Prozess, sehen wir, dass der Schrittmodus dieses Prozesses hier erscheint. Anfangs haben wir Anlegen, Dauer und Ende eines Prozesses genannt. Sehen wir uns diese 3 Stadien an: Um zu verfolgen, was in New process läuft, müssen Sie diese Schaltfläche verwenden: Ein 2. Schrittfenster erscheint, um die ablaufende Methode "Statistics" zu verfolgen. Als nächstes läuft eine Methode, währenddessen ist der Prozess aktiv.
Der Prozess wird beendet, wenn die Methode, die bei seiner Erstellung ausgeführt wurde, abgeschlossen ist:
Im Schrittmodus sehen wir den Prozess "Statistics" nicht mehr. Zusätzlich zu den Erläuterungen sollten Sie folgendes beachten: Ein Prozess ist eine Umgebung, die folgendes enthält:
Prozesse können untereinander auf verschiedene Weise kommunizieren:
Sie können gesetzt werden:
Ein Prozess endet nur, wenn die ihn ausführende Methode abgeschlossen ist. Prozesse dienen generell für folgende Zwecke:
4D erstellt bestimmte Prozesse direkt. Ein Prozess wird über die Funktion New process angelegt: vProcessNumber:=New process(Method;Stack;Processname;Settings;...) Diese Befehlszeile muss in der Methode sein. Wir empfehlen, nachfolgendes Konzept zu verwenden; damit sparen Sie Zeit und sorgen für Klarheit: C_TEXT($1)
Auf diese Weise können Sie weiterarbeiten, während das Fenster mit der Statistik in Reichweite bleibt. Um die Ausführung eines Prozesses zu verfolgen (wenn Sie die Zeile New Process ausführen), verwenden Sie die Schaltfläche “step-by-step new process”. Sie führt die Zeile aus und öffnet ein zweites Fenster im Schrittmodus, in dem Sie das Fortschreiten der im Prozess ausgeführten Methode unabhängig von der aufrufenden Methode verfolgen können. Sie können z.B. einen Prozess erstellen, der die Zeit und die seit dem Start des neuen Prozesses vergangene Zeit anzeigt. Dieses Beispiel gibt Ihnen die Grundlagen zum Einrichten eines Zeitzählers. Über Prozesse können Sie rasch weitere Verbesserungen in Ihrer Programmierung in Betracht ziehen:
Es gibt unzählige Beispiele zum Verwenden von Prozessen. Hier ein weiteres: Sie müssen in einer Anwendung mit kritischen Daten Updates durchführen; diese Updates können einige Sekunden oder gar Minuten dauern, ohne dass der laufende Betrieb, wie z.B. Produktion oder Krankenhaus beeinträchtigt werden. Sie können also:
Diese Operation ist äußerst praktisch im Client/Server Modus, wo ein Prozess (Serverprozedur) auf dem Server läuft und die einzelnen Aufgaben durchführt:
|
EIGENSCHAFTEN
Produkt: 4D
GESCHICHTE
ARTIKELVERWENDUNG
Self-Training ( 4D v16) |