Sample : 他画面へのデータ引継ぎ
実装サンプル : なし
画面遷移を行う際は、データの引継ぎを行う場合がほとんどです。 このドキュメントでは データを引継ぎを行う方法についてご説明します。
画面間遷移アイテムセットを使用する↑top
画面間遷移アイテムセット と FrameShowロジッククラスのIN/OUT を使用
して データの受渡 を行うことが可能です。
起動先画面のLoad処理の前 と 起動先画面のClose処理の最後 のタイミングで データ受渡が発生します。
[1.1:起動元 → 起動先 のデータ受渡] では
FrameShow/IN の情報 を 起動先画面の遷移アイテムセットのIN
に受渡しされます。
[3.1:起動先 → 起動元 のデータ受渡] では
起動先画面の遷移アイテムセットのOUT を 起動元画面FrameShow/OUT の情報
に受渡しされます。
この処理は、Close処理の一部として実行されますので、
FrameQuit(Close処理を行わず画面終了) した場合には 実行されません。
データ受渡 は 行マッピング になります。
Modal と Modeless の動きについて
FrameShowで表示する画面がModalの場合は、画面が閉じられるまで元画面の 処理は待ち状態になります。(元画面の操作も不可になります。)
逆に Modeless画面を表示する場合は、起動画面のLoad処理後に 制御が戻ります。
そのため、[3.1:起動先 → 起動元 のデータ受渡]戻されたデータ を次の処理に 組み込む実装をするには Modal画面を起動する必要があります。
別領域を使用する↑top
CAMC画面では、各画面共通に参照できる領域として 「共通メモリ」「OptionalData」
があります。
ある画面の起動元画面がいくつもあり、 渡すデータの数もバラバラ で 最大公約数の
アイテムを並べるのは大変・・・などの場合には、この領域を使うのも一つの方法です。
データ受渡処理を独自処理に入替↑top
データ受渡処理 の 処理自体を 委譲クラスを作成することにより 独自処理に入替える事が可能です。
委譲クラスは [製品Class]
jp.ne.mki.wedge.run.client.event.FrameImportInterface
のインターフェースを実装します。
デフォルトの実装は [製品Class]
jp.ne.mki.wedge.pub.client.frame.DefaultFrameImportExport
(製品購入時ソース配布) になります。
委譲クラスの設定は [製品Class]
jp.ne.mki.wedge.run.interfaces.ClientManagerInterface#setFrameImportExport(jp.ne.mki.wedge.run.client.event.FrameImportInterface)
にて行います。
AbstractClientを継承したロジッククラスにて 以下のようなコードを記述します。
設定は 画面単位 になります。