REGISTER CLIENT

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

Version 6.5


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

ParameterTypBeschreibung
ClientNameStringName der 4D Client Arbeitssitzung
ZeitLange GanzzahlAbfragezeit des Servers (in Sekunden)
**Lokaler Prozess

Beschreibung

Der Befehl REGISTER CLIENT "registiert" einen 4D Client 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 4D Client registriert ist, kann er eine oder mehrere Methoden für andere Clients ausführen.

Hinweis: Sie können auch jede 4D Arbeitsstation, die sich an 4D Server anmeldet, automatisch registrieren. Wählen Sie dazu in den Einstellungen der Datenbank die Option "Client beim Starten registrieren".

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.

Nach Ausführen dieses Befehls fragt die Arbeitsstation 4D Server in periodischen Abständen, ob eine andere Arbeitsstation oder der Server selbst ihn aufrufen.

Die Abfrage erfolgt standardmäßig alle zwei Sekunden. In Zeit können Sie diese Abfragezeit verändern. Der Mindestwert ist eine Sekunde.

Hinweis: Verwenden Sie diesen Befehl in der Einzelplatz-Version von 4th Dimension, hat er keine Auswirkung.

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

Hinweis: Mehrere 4D Clients können denselben registrierten Namen haben.

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

Beispiel

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 4D Client registrieren und bereit machen, damit er Meldungen von einem anderen 4D Client 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 4D Clients. 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 4D Clients wieder und solche, die Meldungen empfangen können:

   If (Application type=4D Client)
         ` 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 4D Client. 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 4D Clients 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 4D Client korrekt registriert, hat die Systemvariable OK den Wert 1. Wurde 4D Client bereits registriert, führt der Befehl nichts aus, die Systemvariable OK hat den Wert 0 (Null).


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