| 4D v18New signal | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|  | 
    4D v18
 New signal 
         | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| New signal {( description )} -> 戻り値 | ||||||||
| 引数 | 型 | 説明 | ||||||
| description | テキスト |   | シグナルの詳細 | |||||
| 戻り値 | Object |   | シグナルを格納しているネイティブなオブジェクト | |||||
New signal コマンドはシグナル オブジェクトを作成します。
シグナルは、あるワーカーあるいはプロセスから他のプロセスへと引数のように渡せる共有オブジェクトです。そのため、以下のようなことが可能になります:
オプションとして、description 引数内に、シグナルの詳細を説明するカスタムのテキストを渡すことができます。テキストは、シグナルの作成後に定義することも可能です。
シグナルオブジェクトは共有オブジェクト(共有オブジェクトと共有コレクション参照)のため、Use...End use ストラクチャーを使用することで、signal.description プロパティも含め、ユーザー独自のプロパティを維持するのに使用することもできます。
返される値
返されたシグナル オブジェクトには、以下のプロパティとメソッドが格納されます:
| プロパティ | 型 | 詳細 | 
| signal.signaled | ブール | (読み込みのみのプロパティ)シグナル作成時はfalse で、signal.trigger( ) メソッドが呼ばれるとtrue になります。 | 
| signal.description | テキスト | シグナルのカスタムの詳細(あれば) | 
| メソッド | 詳細 | 
| signal.wait( ) | シグナルを待つメソッド(呼び出しているプロセス/ワーカー) | 
| signal.trigger( ) | シグナルをトリガーするメソッド(呼び出されたプロセス/ワーカー) | 
以下は、シグナルを設定するワーカーのよくある一例です:
 C_OBJECT($signal)
 $signal:=New signal("This is my first signal")
 CALL WORKER("myworker";"doSomething";$signal)
 $signaled:=$signal.wait(1) // 最大で1秒待つ
 If($signaled)
    ALERT("myworker finished the work. Result: "+$signal.myresult)
 Else
    ALERT("myworker has not finished in less than 1s")
 End if以下は、"doSomething" メソッドの中身の一例です:
 C_OBJECT($1)
  // 何らかの処理
  //...
 Use($1)
    $1.myresult:=$processingResult  // 結果を返す
 End use
 $1.trigger() // 処理が完了した
									signal.description
									
									signal.signaled
									
									signal.trigger( )
									
									signal.wait( )
									
	プロダクト: 4D
	テーマ: プロセス (コミュニケーション)
	番号: 
        1641
        
        
        
	
	初出: 4D v17 R4
	
	
	
	ランゲージリファレンス ( 4D v18)
	
	
	
 コメントを追加
コメントを追加