4D v16.3

REGISTER CLIENT

Home

 
4D v16.3
REGISTER CLIENT

REGISTER CLIENT 


 

REGISTER CLIENT ( ClientName {; Zeit}{; *} ) 
Parameter Typ   Beschreibung
ClientName  String in Name der remote 4D Sitzung
Zeit  Lange Ganzzahl in ***Wird ab Version 11.3 ignoriert***
Operator in Lokaler Prozess

Der Befehl REGISTER CLIENT registriert ein remote 4D mit dem Namen ClientName auf 4D Server, so dass andere Clients oder evtl. 4D Server (über Servermethoden) über den Befehl EXECUTE ON CLIENT Methoden auf dieser Arbeitsstation ausführen können. Sobald ein remote 4D registriert ist, kann es eine oder mehrere Methoden für andere Clients ausführen.

Hinweise:

  • Sie können auch jede Arbeitsstation, die sich an 4D Server anmeldet, automatisch registrieren. Wählen Sie dazu in den Einstellungen der Datenbank die Option “Client beim Starten registrieren”.
  • Verwenden Sie diesen Befehl im lokalen Modus von 4D, hat er keine Auswirkung.
  • Mehrere remote 4D können denselben registrierten Namen haben.

Mit diesem Befehl wird auf der Arbeitsstation ein Prozess mit Namen ClientName erstellt. Dieser Prozess lässt sich nur mit dem Befehl UNREGISTER CLIENT abbrechen.
Übergeben Sie den optionalen Parameter *, ist der erstellte Prozess lokal. 4D stellt dem Prozessnamen automatisch das Dollarzeichen ($) voran. Andernfalls ist der Prozess global.

Hinweis zur Kompatibilität: Seit Version 11.3 von 4D sind die Abläufe zur Server/Client Kommunikation optimiert. Der Server sendet jetzt die Ausführung der Anfragen nach Bedarf direkt an die registrierten Clients (Technologie "push"). Damit entfällt das vorige Prinzip, bei dem Clients in periodischen Abständen am Server angefragt haben. Ist der Parameter Zeit übergeben, wird er ignoriert.

Nach Ausführung von REGISTER CLIENT können Sie den Namen der Arbeitsstation nicht mehr unmittelbar ändern. Dazu müssen Sie erst den Befehl UNREGISTER CLIENT und dann den Befehl REGISTER CLIENT aufrufen.

Im folgenden Beispiel erstellen wir ein kleines Meldungssystem, so dass die Arbeitsstationen miteinander kommunizieren können.

1) Mit der Methode Registration können Sie ein remote 4D registrieren und bereit machen, damit er Meldungen von einem anderen remote 4D empfangen kann:

  `Vor Registrieren unter einem anderen Namen müssen Sie zuerst die
  ` Registrierung rückgängig machen
 UNREGISTER CLIENT
 Repeat
    vPseudoName:=Request("Geben Sie Ihren Namen ein:";"Benutzer";"OK";"Abbrechen")
 Until((OK=0)|(vPseudoName#""))
 If(OK=0)
    ... ` Führe nichts aus
 Else
    REGISTER CLIENT(vPseudoName)
 End if

2) Mit folgender Anweisung erhalten Sie eine Liste des registrierten remote 4D. Sie können es in die Datenbankmethode On Startup setzen:

 PrClientList:=New process("4D Client Liste";32000;"Liste der registrierten Clients")

3) Mit der Methode 4D Client List finden Sie alle registrierten remote 4D wieder und solche, die Meldungen empfangen können:

 If(Application type=4D Remote Mode)
  ` Nachfolgender Code ist nur im Client/Server-Betrieb gültig
    $Ref:=Open window(100;100;300;400;-(Palette window+Has window title);"Liste der registrierten Clients")
    Repeat
       GET REGISTERED CLIENTS($ClientList;$ListeCharge)
  `Finde die registrierten Clients wieder in $ClientList
       ERASE WINDOW($Ref)
       GOTO XY(0;0)
       For($p;1;Size of array($ClientList))
          MESSAGE($ClientList{$p}+Char(Carriage return))
       End for
  `Zeige jede Sekunde an
       DELAY PROCES(Current process;60)
    Until(False` Endlos-Schleife
 End if

4) Mit folgender Methode senden Sie eine Meldung an einen anderen registrierten remote 4D. Sie ruft die Methode Display_Message auf (siehe unten).

 $Address:=Request("Empfänger der Meldung:";"")
  ` Gib Namen der Personen aus dem Fenster ein,
  ` das die Datenbankmethode On Startup erstellt
 If(OK#0)
    $Message:=Request("Message:") ` Meldung
    If(OK#0)
       EXECUTE ON CLIENT($Address;"Zeige_Meldung";$Message` Sende Meldung
    End if
 End if

5) Hier die Methode Display_Message:

 C_TEXT($1)
 ALERT($1)

6) Mit dieser Methode ist eine Arbeitsstation für die anderen remote 4D nicht mehr sichtbar, sie erhält auch keine Meldungen mehr:

Wurde remote 4D korrekt registriert, hat die Systemvariable OK den Wert 1. Wurde remote 4D bereits registriert, führt der Befehl nichts aus, die Systemvariable OK hat den Wert 0 (Null).



Siehe auch 

EXECUTE ON CLIENT
GET REGISTERED CLIENTS
UNREGISTER CLIENT

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Prozesse
Nummer: 648

Dieser Befehl ändert die Systemvariable OK

 
GESCHICHTE 

Geändert: 4D v11 SQL Release 3

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v16)
4D Programmiersprache ( 4D v16.1)
4D Programmiersprache ( 4D v16.2)
4D Programmiersprache ( 4D v16.3)