Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19.8
New signal
|
New signal {( description )} -> Funktionsergebnis | ||||||||
Parameter | Typ | Beschreibung | ||||||
description | Text |
![]() |
Beschreibung des Signals | |||||
Funktionsergebnis | Objekt |
![]() |
Native Objekt mit dem Signal | |||||
Der Befehl New signal erstellt ein Objekt signal.
Ein Signal ist ein shared object, das als Parameter eines Workers oder Prozesses an einen anderen übergeben werden kann, so dass:
Optional können Sie im Parameter description einen eigenen Text zum Beschreiben des Signals eingeben. Dieser Text lässt sich auch nach dem Erstellen des Signals definieren.
Da das Objekt signal ein shared object ist (siehe Shared Objects und Shared Collections), kann es über Use...End use auch für eigene Eigenschaften, sowie die Eigenschaft signal.description verwendet werden.
Zurückgegebener Wert
Das Objekt signal enthält folgende Eigenschaften:
Eigenschaft | Typ | Beschreibung |
signal.signaled | Boolean | (read-only Eigenschaft) falsch beim Erstellen des Signals. Wird wahr beim Aufrufen der Methode signal.trigger( ). |
signal.description | Text | Eigene Beschreibung des Signals, wenn vorhanden |
Methode | Beschreibung | |
signal.wait( ) | Methode | Warten auf das Signal (Aufrufen von Prozess/Worker) |
signal.trigger( ) | Methode | Auslösen des Signals (Aufgerufener Prozess/Worker) |
Hier sehen Sie ein typisches Beispiel eines Workers, der ein Signal setzt:
C_OBJECT($signal)
$signal:=New signal("Dies ist mein erstes Signal")
CALL WORKER("myworker";"doSomething";$signal)
$signaled:=$signal.wait(1) //max. 1 Sekunde warten
If($signaled)
ALERT("myworker hat die Arbeit beendet. Ergebnis: "+$signal.myresult)
Else
ALERT("myworker hat nicht unter 1 sek. beendet")
End if
Die Methode "doSomething" könnte lauten:
C_OBJECT($1)
//Bearbeitung
//...
Use($1)
$1.myresult:=$processingResult //Ergebnis zurückgeben
End use
$1.trigger() // Die Arbeit ist beendet
signal.description
signal.signaled
signal.trigger( )
signal.wait( )
Produkt: 4D
Thema: Prozess (Kommunikation)
Nummer:
1641
Erstellt: 4D v17 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)