Visual LANSA フレームワーク ガイド > チュートリアル > VLF-ONE Web アプリケーションのチュートリアル > 切り替えと通知 > スライダーを変更してコマンド・ハンドラーに信号を送信
スライダーを変更してコマンド・ハンドラーに信号を送信

IVisual LANSA エディターでスライダー上のボタンを削除し、[ソース] タブに切り替えて次のコードを貼り付けます。

Define_Com Class(#Prim_phbn) Name(#IssueTestMessageButton) Parent(#CustomPanelBody) Caption('Issue Message via Command Handler') Displayposition(1) Tabposition(1) Width(239) Top(16) Left(424)

 

Define_Com Class(#Prim_edit) Name(#TestMessage) Parent(#CustomPanelBody) Displayposition(2) Tabposition(2) Width(407) Tabstop(False) Top(16) Placeholder('Type your message here')

 

[デザイン] タブを表示します。これでスライダーに編集ボックスが付き、メッセージを入力できます。この隣にあるボタンにより、スライダーからフレームワークにメッセージの信号が送信されます。

 

このボタンの Click イベント・ルーチンを作成し、これに次のSignalEvent ステートメントを追加します。

 

#Com_Owner.avSignalEvent Withid(ShowMessage) Notifyself(False) Sendainfo1(#TestMessage) To(FRAMEWORK)

 

スライダーをコンパイルします。

次に信号送信された ShowMessage イベントをリスンするコンポーネントを作成する必要があります。そのためには、まずコマンド・ハンドラーを開きます (SFRUD 例を利用している場合は、"詳細" コマンド・ハンドラー XXX_XHOMESALE_SCRUD_Handler)。

次のイベント・ルーチンをこのコマンド・ハンドラーに貼り付けます。

 

Evtroutine Handling(#Com_owner.avEvent) Withid(#EventId) Withainfo1(#AInfo1)

If (#EventId = ShowMessage)

#AVFRAMEWORKMANAGER.avIssueMessage Text(#AInfo1) Requester(#COM_OWNER) Clearexistingmessages(True)

Endif

Endroutine

 

このルーチンは ShowMessage イベントをリスンし、受信するとメッセージを発行します。

コマンド・ハンドラーをコンパイルします。

ワークベンチに切り替えて、フレームワークを実行してこの信号送信をテストします。

まず、自身のビジネス・オブジェクト内のビジネス・オブジェクト・インスタンス用の場合コマンド・ハンドラーを表示させます。次に下部スライダーを表示し、編集ボックスにメッセージを入力したら [コマンド・ハンドラー経由でメッセージ発行] のボタンをクリックします。

 

メッセージがコマンド・ハンドラーのステータス・バーに表示されます。

 

フレームワーク実行時にトレースをオンにすれば、このイベントがどのように信号を送り、受信されているか確認することもできるでしょう。これを行うには、[VLF-ONE アプリケーションとしてフレームワークを実行] のダイアログ内で [トレースをオンにする] のオプションを選択します。

 

この時、信号受信のテストを行う前に [トレースをクリア] をクリックして、事前にトレースをクリアしておくと良いでしょう。