情報交換

Visual LANSA

情報交換


組み込みのTax Calculator(再利用可能パーツ(DF_DET12))は、仮想クリップボードを使用してコンポーネント間で情報を交換します。

Tax Calculatorのソースをご覧になると、このコマンドが税金計算ルーチンの終わりに計算結果を仮想クリップボードに保存する様子がわかります。

Invoke #AvFrameworkManager.avSaveValue WithID1(Calculation) WithID2(Tax)

                             FromNValue(#DF_ELNET) Persistent(FALSE)

                             SignalChange(TRUE)

 

普通の計算機DF_DET13もクリップボードを使用します。

各計算終了後DF_DET13は、以下のコードを実行し計算結果を送ります。

Invoke #AvFrameworkManager.avSaveValue WithID1(Calculation) WithID2(Normal) 

                             FromNValue(#VTOTAL) Persistent(FALSE)

                             SignalChange(TRUE)

 

Tax Calculatorを使用して給与の総計を計算する方法の例を次に示します。

EVTROUTINE HANDLING(#MITM_TAXCALC.Click)

INVOKE method(#AvFrameworkManager.avRestoreValue) WITHID1(Calculation) WITHID2(Tax) TONVALUE(#Salary) USENVALUEDEFAULT(#Salary)

SIGNAL event(SomethingChanged)

ENDROUTINE

 

標準の計算機を使用して給与を計算する方法の例を次に示します。

EVTROUTINE HANDLING(#MITM_NORMCALC.Click)

INVOKE method(#AvFrameworkManager.avRestoreValue) WITHID1(Calculation) WITHID2(Normal) TONVALUE(#Salary) USENVALUEDEFAULT(#Salary)

SIGNAL event(SomethingChanged)

ENDROUTINE

 

UseNDefault(#Salary)パラメータを使用すると、クリップボード上に計算結果がない場合に、現在値を確実に固定できます。これらのサンプルでは、計算機とフォームの間での情報交換が実行できます。

·         Tax Calculatorと普通の計算機はどちらも常に最新の計算結果を送ります。

この非常に単純な概念が基礎になり、その上により複雑な情報交換が成り立つのです。