ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20.6
New signal
|
New signal {( description )} -> 戻り値 | ||||||||
引数 | 型 | 説明 | ||||||
description | テキスト |
![]() |
シグナルの詳細 | |||||
戻り値 | オブジェクト |
![]() |
シグナルを格納しているネイティブなオブジェクト | |||||
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 v20)
ランゲージリファレンス ( 4D v20.1)
ランゲージリファレンス ( 4D v20.2)
ランゲージリファレンス ( 4D v20.3)
ランゲージリファレンス ( 4D v20.4)
ランゲージリファレンス ( 4D v20.5)
ランゲージリファレンス ( 4D v20.6)