ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19.8
REGISTER CLIENT
|
REGISTER CLIENT ( clientName {; period}{; *} ) | ||||||||
引数 | 型 | 説明 | ||||||
clientName | 文字 |
![]() |
4Dクライアントセッション名 | |||||
period | 倍長整数 |
![]() |
***バージョン11.3より無効*** | |||||
* | 演算子 |
![]() |
ローカルプロセス | |||||
REGISTER CLIENT コマンドは、4Dクライアントステーションを、clientNameで指定した名前で4D Serverに登録し、他のクライアントもしくは4D Server (ストアドプロシージャから) が登録されたマシン上で、EXECUTE ON CLIENTコマンドを使ってメソッドを実行できるようにします。一旦登録されると、4Dクライアントは他のクライアント用に1つまたはそれ以上のメソッドを実行することができます。
Notes:
このコマンドが実行されると、クライアントステーション上にclientNameという名のプロセスが作成されます。このプロセスはUNREGISTER CLIENTコマンドによってのみアボート可能です。
オプションの * 引数を渡すと、作成されるプロセスはローカルプロセスになり、4Dは自動的にプロセス名の始めにドルマーク ($) を付け加えます。そうでない場合は、グローバルプロセスです。
4Dバージョン11.3より、サーバ/クライアント通信のメカニズムが最適化されました。サーバは必要に応じて直接、登録されたクライアントに実行 リクエストを送信します ("プッシュ"テクノロジ)。以前の、クライアントが定期的にサーバに問い合わせする方法は使用されません。period引数は無視されます。
一度コマンドが実行されると、4Dクライアント名を動的に変更することはできません。これを実行するには、UNREGISTERCLIENTコマンドを呼び出し、再度REGISTER CLIENTコマンドを呼び出します。
以下の例題では小さなメッセージングシステムを作成し、クライアントワークステーション間の通信を可能にします。
1) このRegistrationメソッドは4Dクライアントを登録して、他の4Dクライアントからのメッセージを受け取ることができるようにします:
`他の名前で登録する前に登録解除する必要がある
UNREGISTER CLIENT
REPEAT
vPseudoName:=Request("名前を入力:";"ユーザ";"OK";"キャンセル")
Until((OK=0)|(vPseudoName#""))
If(OK=0)
... ` 何も行わない
Else
REGISTER CLIENT(vPseudoName)
End if
PrClientList:=New process("4D Client List";32000;"List of registered clients")
If(Application type=4D Remote Mode)
` 以下のコードはクライアントサーバでのみ有効
$Ref:=Open window(100;100;300;400;-(Palette window+Has window title);"List of registered clients")
REPEAT
GET REGISTERED CLIENTS($ClientList;$ListeCharge)
`$ClientListに登録済みクライアントリストを取得
ERASE WINDOW($Ref)
GOTO XY(0;0)
For($p;1;Size of array($ClientList))
MESSAGE($ClientList{$p}+Char(Carriage return))
End for
`毎秒ごとに表示
DELAY PROCESS(Current process;60)
Until(False) ` 無限ループ
End if
$Addressee:=Request("メッセージの宛先:";"")
` On Startup データベースメソッドで取得した、メッセージ受信可能者リストの名前を指定
If(OK#0)
$Message:=Request("Message:") ` message
If(OK#0)
EXECUTE ON CLIENT($Addressee;"Display_Message";$Message) ` メッセージ送信
End if
End if
C_TEXT($1)
ALERT($1)
4Dクライアントが正しく登録されるとOKシステム変数に1が設定されます。4Dクライアントが既に登録されている場合、コマンドはなにも行わずOKは0に設定されます。
プロダクト: 4D
テーマ: プロセス
番号:
648
変更: 4D v11 SQL Release 3
ランゲージリファレンス ( 4D v19)
ランゲージリファレンス ( 4D v19.1)
ランゲージリファレンス ( 4D v19.4)
ランゲージリファレンス ( 4D v19.5)
ランゲージリファレンス ( 4D v19.6)
ランゲージリファレンス ( 4D v19.7)
ランゲージリファレンス ( 4D v19.8)