ネストされたアクターを起動メッセージを送信
- 更新日2025-07-30
- 6分で読める
(ファイル名:Actor Framework.lvlib:Actor.lvclass:Send Launch Nested Actor Msg.vi)
このVIは、アクターを含んでいるメッセージを別のアクターに送信します。メッセージを受け取ったアクターは、ペイロードアクターをネストされたアクターとして起動します。このVIは、アクターから自身にメッセージを送るためにのみ使用してください。
理想的には、このVIは、アクターがこのメッセージを自身にのみ送れるようなスコープをもつべきですが、LabVIEWは、実行時に依存するスコープを指定することはできないので、このVIを指定されたとおりに使用する必要があります。

入力/出力
メッセージ優先度 (Normal)
—
メッセージ優先度は、メッセージキューでのメッセージの位置を指定します。この位置に応じて、アクターによるメッセージの処理順序が決定されます。
セルフエンキューア入力
—
セルフエンキューア入力は、アクターが自分にメッセージを送信するために使用するリファレンスです。
ネストされたアクター
—
ネストされたアクターは、起動するアクターの初期状態です。
自動停止? (T)
—
自動停止により、発呼者アクターが停止したときにネストされたアクターが停止するかどうかが決まります。デフォルト値はTRUEです。この入力の値をFALSEに設定した場合、ネストされたアクターの停止動作を指定するには、発呼者アクターの「コアを停止」VIを手動でオーバーライドする必要があります。
エラー入力
—
エラー入力は、このノードを実行する前に発生したエラーの状態を示します。この入力は、標準エラー入力として機能します。
「アクターコア」のフロントパネルを開く? (F)
—
「アクターコア」のフロントパネルを開く?は、アクターの起動時に、アクターコアメソッドのフロントパネルを開くかどうかを指定します。デフォルトはFALSEです。TRUEに設定すると、このVIはランタイムエンジンでエラーを返します。 VIの中断ボタンはアクターを停止することを忘れた場合に便利なので、コード開発中はこのボタンにアクセスできるように「アクターコア」のフロントパネルを開く?をTRUEに設定します。デバッグ以外の目的で、アクターのアクターコアフロントパネルを開くには、フロントパネル:開くメソッドを使用します。また、ウィンドウの外観をカスタマイズダイアログボックスの呼び出されたらフロントパネルを表示を有効にすることで、アクターが呼び出されたときにアクターコアフロントパネルが開くように、このVIを構成することもできます。
セルフエンキューア出力
—
セルフエンキューア出力は、アクターが自分にメッセージを送信するために使用するリファレンスを返します。
エラー出力
—
エラー出力には、エラー情報が含まれます。この出力は、標準エラー出力として機能します。 |
一般的に、アクターAが別のアクターBに新しくネストされたアクターCを起動するように指示するメッセージを送信することは問題を起こします。AからBへのメッセージは、Bに何をするかを指示すべきですが、その方法までは指定すべきではありません。メッセージにアクターCを含めることにより、AはBにタスクの実行を指示するだけでなく、ネストされたアクターを管理することでタスクを実行するように指示します。Bには、タスクを完了するために、それより良い方法がある可能性があり、Aからのメッセージへの応答方法を決めるのは、Bの内部的な詳細の一部であるべきです。この一般規則に違反すると、Bを変更する必要が生じたときに、AとBの間で問題を起こす可能性のあるカプリングを生成することになります。AはBが特定の動作をすることに依存するので、Bの変更だけでなく、Aの変更も必要になる可能性があります。
このVIを使用してあるアクターから別のアクターに、ネストされたアクターを起動したい場合は、呼び出しアクタークラス内に、「ネストされたアクターを起動メッセージを送信」VIを含むパブリックVIを作成します。
アクターフレームワークの詳細については、アクターフレームワークテンプレートを参照してください。アクターフレームワークテンプレートを使用するには、LabVIEWのスタート画面でプロジェクトを作成をクリックし、アクターフレームワークを選択します。
メッセージ優先度 (Normal)
—
セルフエンキューア入力
—
ネストされたアクター
—
自動停止? (T)
—
エラー入力
—
セルフエンキューア出力
—
エラー出力
—