ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com

ホーム

 
4D v20 R7
KILL WORKER

KILL WORKER 


 

KILL WORKER {( process )} 
引数   説明
process  テキスト, 倍長整数 in 終了させるプロセスの番号または名称 (省略の場合はカレントプロセス)

説明   

KILL WORKER コマンドは process に指定した番号、または名称のワーカープロセスにメッセージを送信し、現在の処理が完了次第、未処理のメッセージすべて無視して実行を終了するよう命令します。

このコマンドの対象は、メッセージボックスを持つワーカープロセスに限られます。詳細についてはワーカーについて を参照ください。

process には実行を終了させるプロセスの番号または名称を受け渡します。指定のプロセスが存在しない場合、KILL WORKER は何もしません。
KILL WORKER のパラメーターを省略した場合には、現在実行中のワーカーにコマンドが適用されます。つまり、KILL WORKER (Current process) と同じ結果になります。

CALL WORKER によって作成されたワーカーではないプロセス (例えばアプリケーションワーカーなど) に対してKILL WORKER が適用された場合には、KILL WORKER コマンドはワーカーのメッセージボックスを空にするだけです。

KILL WORKER コマンドによって終了させられたワーカーに、CALL WORKER コマンドを呼び出してメッセージを送ろうとした場合、新しいプロセスが開始されます。一つのワーカーに対して一つのプロセスのみが実行中であるようにするために、新しいプロセスは、その前のプロセスが実際に終了されたあとに開始されます。ただし、CALL WORKER がワーカーから呼び出されて自分自身にメッセージを送信しようとたものの、その直後にプロセスがKILL WORKER によって終了されていた場合、コマンドは何もしないという点に注意してください。

例題  

例えばフォームなどで次のようなコードを実行し、ワーカーの終了をトリガーします:

 CALL WORKER(vWorkerName;"theWorker";"end")

ワーカーメソッド (theWorker) の例です:

  //theWorker メソッド
 C_TEXT($1//パラメーター
 
 Case of
    :($1="call") // ワーカーをコールした場合
       ... // 処理用のコード
    :($1="end") // ワーカーの終了を指示した場合
       KILL WORKER
 End case



参照 

CALL WORKER
Current process name
ワーカーについて

 
プロパティ 

プロダクト: 4D
テーマ: プロセス (コミュニケーション)
番号: 1390

This command can be run in preemptive processes

 
ページの目次 
 
履歴 

初出: 4D v15 R5

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v20 R7)