4D v16.3GET PROCESS VARIABLE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
GET PROCESS VARIABLE
GET PROCESS VARIABLE
Der Befehl GET PROCESS VARIABLE liest die Prozessvariablen QuellVar (srvVar2, etc.) aus dem Quellprozess mit der in Prozess übergebenen Nummer und gibt deren aktuelle Werte in den Variablen ZielVar (dstVar2, etc.) des aktuellen Prozesses zurück. Jede Quellvariable kann eine Variable, ein Array oder ein Array-Element sein. Beachten Sie jedoch die unten aufgelisteten Einschränkungen. In jedem Paar QuellVar;ZielVar müssen beide Variablen zueinander kompatibel sein, da sonst die erhaltenen Werte evtl. ohne Bedeutung sind. Der aktuelle Prozess “überfliegt” die Variablen aus dem Quellprozess — dieser Prozess erhält keine Warnung, dass ein anderer Prozess die Instanz seiner Variablen liest. 4D Server: Mit 4D Client können Sie Variablen in einem Zielprozess lesen, der auf dem Server-Rechner ausgeführt wird (Serverprozedur). Versehen Sie dazu die im Parameter Prozess angegebene Nummer mit einem Minuszeichen. Wichtig: Die Prozesskommunikation zwischen mehreren Rechnern über die Befehle GET PROCESS VARIABLE, SET PROCESS VARIABLE und VARIABLE TO VARIABLE ist nur vom Client zum Server möglich. Es ist immer ein Client-Prozess, der die Variablen einer Serverprozedur liest oder schreibt. Tipp: Kennen Sie nicht die Kennummer der Serverprozedur, können Sie auch die Interprozessvariablen des Servers verwenden. Dazu können Sie jeden negativen Wert in Prozess eingeben. Sie müssen also nicht unbedingt die Kennummer des Prozesses wissen, um GET PROCESS VARIABLE mit den Interprozessvariablen des Servers einzusetzen. Das ist von Vorteil, wenn eine Serverprozedur mit der Datenbankmethode On Server Startup gestartet wird. Da Client-Rechner nicht automatisch die Kennummer dieses Prozesses wissen, können Sie im Parameter Prozess einen beliebigen negativen Wert übergeben. GET PROCESS VARIABLE erlaubt keine lokalen Variablen als Quellvariablen. Zielvariablen können dagegen Interprozess-, Prozess- oder lokale Variablen sein. Sie “empfangen” die Werte nur in Variablen, nicht in Feldern. GET PROCESS VARIABLE erlaubt jede Art von Quellprozess oder Interprozessvariable. Davon ausgenommen sind:
Der Quellprozess muss ein Benutzerprozess sein; er kann kein Kernelprozess sein. Gibt es keinen Quellprozess, hat der Befehl keine Auswirkung. Hinweis: Im interpretierten Modus wird ein undefinierter Wert zurückgegeben, wenn es keine Quellvariable gibt. Das können Sie mit der Funktion Type herausfinden. Damit testen Sie die dazugehörige Zielvariable. Diese Codezeile liest den Wert der Textvariablen vtCurStatus aus dem Prozess mit der Prozessnummer $vlProcess. Sie gibt den Wert in der Prozessvariablen vtInfo des aktuellen Prozesses zurück: GET PROCESS VARIABLE($vlProcess;vtCurStatus;vtInfo) Diese Codezeile führt dasselbe aus, gibt den Wert jedoch in der lokalen Variablen $vtInfo für die Methode zurück, die den aktuellen Prozess ausführt: GET PROCESS VARIABLE($vlProcess;vtCurStatus;$vtInfo) Diese Codezeile führt dasselbe aus, gibt den Wert jedoch in der Variablen vtCurStatus des aktuellen Prozesses zurück: GET PROCESS VARIABLE($vlProcess;vtCurStatus;vtCurStatus) Hinweis: Das erste vtCurStatus bezeichnet die Instanz der Variablen im Quellprozess. Das zweite vtCurStatus bezeichnet die Instanz der Variablen im aktuellen Prozess. Dieses Beispiel liest sequentiell die Elemente eines Prozess-Arrays aus dem in $vlProcess angegebenen Prozess: GET PROCESS VARIABLE($vlProcess;vl_IPCom_Array;$vlSize) Hinweis: In diesem Beispiel enthält die Prozessvariable vl_IPCom_Array die Größe des Array at_IPCom_Array und muss vom Quellprozess aufrechterhalten werden. Dieses Beispiel führt dasselbe wie das vorige aus, liest das Array jedoch als Ganzes anstatt sequentiell die Elemente: GET PROCESS VARIABLE($vlProcess;at_IPCom_Array;$anArray) Dieses Beispiel liest die Instanzen der Variablen v1,v2,v3 des Quellprozesses und gibt ihre Werte in den Instanzen derselben Variablen für den aktuellen Prozess zurück: GET PROCESS VARIABLE($vlProcess;v1;v1;v2;v2;v3;v3) Siehe Beispiel zum Befehl DRAG AND DROP PROPERTIES.
Siehe auch
CALL PROCESS
|
EIGENSCHAFTEN
Produkt: 4D GESCHICHTE
Erstellt: 4D v6 ARTIKELVERWENDUNG
4D Programmiersprache ( 4D v16) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||