Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19.8
CALL WORKER
|
CALL WORKER ( Prozess ; Methode {; Param}{; Param2 ; ... ; ParamN} ) | ||||||||
Parameter | Typ | Beschreibung | ||||||
Prozess | Text, Lange Ganzzahl |
![]() |
Name oder Nummer des Worker Prozesses | |||||
Methode | 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 Methode 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 PROCESS PROPERTIES zurückgegeben, wenn er auf diesen Prozess angewendet wird.
In Methode übergeben Sie den Namen der Projektmethode, die im Kontext des Worker Prozesses ausgeführt werden soll. Der Parameter Methode kann ein leerer String sein. In diesem Fall führt der Worker die Methode aus, die ursprünglich zum Starten ihres Prozesses, sofern vorhanden, verwendet wurde (z.B. die Start Methode des Worker).
Hinweis: Methode muss immer angegeben werden, wenn der Befehl den Hauptprozess (Prozessnummer 1) aufruft, da er nicht über eine Projektmethode gestartet wurde. Deshalb führt CALL WORKER (1;"") nichts aus.
In Param können Sie einen oder mehrere Parameter für Methode übergeben. Das funktioniert genauso wie Parameter für eine Unterroutine übergeben, siehe Abschnitt . Beim Starten der Ausführung im Rahmen des Prozesses empfängt die Prozessmethode die Parameterwerte in $1, $2, etc. Beachten Sie auch, dass sich Arrays nicht als Parameter für eine Methode übergeben lassen. Außerdem müssen Sie für den Befehl CALL WORKER folgendes beachten:
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
C_LONGINT(vYear)aufrufen
vYear:=2015 // Mögliche Benutzerauswahl im Formular
CALL WORKER("myWorker";"workerMethod";vYear;Current form window)
Der Code von workerMethod ist:
// Das ist die Methode des Worker
// Sie kann preemptive oder kooperativ sein
C_LONGINT($1) //erhält das Jahr
C_LONGINT($2) //erhält die Referenz des Fensters
C_OBJECT(vStatResults) //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($2;"displayStats";vStatResults)
Produkt: 4D
Thema: Prozess (Kommunikation)
Nummer:
1389
Erstellt: 4D v15 R5
Geändert: 4D v16 R4
4D Programmiersprache ( 4D v19)
4D Programmiersprache ( 4D v19.1)
4D Programmiersprache ( 4D v19.4)
4D Programmiersprache ( 4D v19.5)
4D Programmiersprache ( 4D v19.6)
4D Programmiersprache ( 4D v19.7)
4D Programmiersprache ( 4D v19.8)