Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
CALL WORKER
|
CALL WORKER ( Prozess ; Methode {; Param}{; Param2 ; ... ; ParamN} ) | ||||||||
Parameter | Typ | Beschreibung | ||||||
Prozess | Text, Lange Ganzzahl |
![]() |
Name oder Nummer des Worker Prozesses | |||||
Methode | Objekt, Text |
![]() |
Name der aufzurufenden Projektmethode | |||||
Param | Ausdruck |
![]() |
Parameter für die Methode | |||||
Der Befehl CALL WORKER erstellt oder ruft den Worker Prozess mit dem Namen oder der Nummer auf, übergeben in Prozess, und fordert auf, die Formel in ihrem Kontext mit dem optionalen Parameter Param auszuführen.
Der CALL WORKER bindet Param in eine Meldung ein und setzt sie in die Nachrichtenbox des Worker. Weitere Informationen dazu finden Sie im Abschnitt Über Worker.
Im Parameter Prozess können Sie den Worker über seinen Prozessnamen oder seine Prozessnummer angeben:
Hinweis: Der Hauptprozess, den 4D beim Öffnen einer Anwendung für die Benutzeroberfläche und den Anwendungsmodus erstellt, ist ein Worker Prozess. Er lässt sich über CALL WORKER aufrufen. Da sein Name jedoch je nach der 4D Programmiersprache variieren kann, empfehlen wir, diesen mit CALL WORKER über seine Nummer (immer 1) aufzurufen.
Der Worker Prozess erscheint in der Prozessliste des Runtime Explorer und wird vom Befehl _o_PROCESS PROPERTIES zurückgegeben, wenn er auf diesen Prozess angewendet wird.
In der Formel legen Sie den 4D Code fest, der im Kontext des Worker Prozesses ausgeführt werden soll. Sie können entweder übergeben:
Sie können auch Parameter an die Formel übergeben, indem Sie einen oder mehrere optionale param-Parameter verwenden. Sie können sequenzielle Parameter oder, wenn der Ausdruck der Formel eine Funktion oder eine Projektmethode ist, benannte Parameter verwenden. Beim Start der Ausführung im Kontext des Prozesses empfängt die Prozessformel die Parameterwerte entweder in den benannten Parametern oder in $1, $2, usw. Denken Sie daran, dass Arrays nicht als Parameter übergeben werden können. Darüber hinaus müssen im Zusammenhang mit dem Befehl CALL WORKER die folgenden zusätzlichen Überlegungen berücksichtigt werden:
Ein Worker Prozess bleibt am Leben, bis die Anwendung geschlossen oder explizit der Befehl KILL WORKER aufgerufen wird. Rufen Sie diesen Befehl auf, wenn ein Worker Prozess nicht mehr benötigt wird, denn damit sparen Sie Speicherplatz.
Eine Schaltfläche im Formular löst eine Berechnung aus, z.B. Statistiken zum ausgewählten Jahr. Die Schaltfläche erstellt oder ruft einen Worker Prozess auf, der Daten berechnet, während der Benutzer im Formular weiterarbeiten kann.
Die Methode für die Schaltfläche lautet:
//Den Worker myWorker mit dem Parameter
var $vYear: Integer
$vYear:=2015 // Mögliche Benutzerauswahl im Formular
CALL WORKER("myWorker";Formula(workerMethod);$vYear;Current form window)
Der Code von workerMethod ist:
// Das ist die Methode des Worker
// Sie kann preemptive oder kooperativ sein
#DECLARE($vYearInteger;$windowInteger)  //erhält die Referenz des Fensters
var $vStatResults : Object //zum Speichern von Ergebnissen von Statistiken
... //Statistik berechnen
//nach Beenden das Formular mit berechneten Werten zurückrufen
//vStatResults kann Ergebnisse im Formular anzeigen
CALL FORM($window;Formula(displayStats);$vStatResults)
Produkt: 4D
Thema: Prozess (Kommunikation)
Nummer:
1389
Erstellt: 4D v15 R5
Geändert: 4D v16 R4
Geändert: 4D v19 R6
4D Programmiersprache ( 4D v20 R7)