REGISTER CLIENT

4D - Documentation   Français   English   German   Spanish   Japanese   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next

Version 11.3 (Geändert)


REGISTER CLIENT (ClientName{; Zeit}{; *})

ParameterTypBeschreibung
ClientNameStringName der remote 4D Sitzung
ZeitLange Ganzzahl
**Lokaler Prozess

Beschreibung

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 er 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.

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

Beispiele

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

1) Mit der Methode Registration können Sie einen 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 der registrierten remote 4D. Sie können diese 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:

   UNREGISTER CLIENT

Referenz

EXECUTE ON CLIENT, GET REGISTERED CLIENTS, UNREGISTER CLIENT.

Systemvariablen und Mengen

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).


4D - Documentation   Français   English   German   Spanish   Japanese   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next