以下に注意してください。
- クリップボードの情報は通常フレームワークの実行を超えて記憶されます。avSaveValueメソッドを使用していれば、Persistent(FALSE)にすることでこれを避けることができます。
- クリップボードに秘密の情報や重要な情報を入れてはいけません。
- クリップボード上の情報を更新する量と頻度は、アプリケーションのパフォーマンスに影響します。
UseAValueDefault、UseAValueUDefault および UseNValueDefault
メソッドavRestoreValueには、クリップボードのエントリーが検出できなかったときに使用する省略値を指定するパラメータ UseAValueDefault、UseAValueUDefault および UseNValueDefaultがあります。
したがって、前述の例は、以下のように簡単に記述できます。
Invoke #AvFrameworkManager.avRestoreValue WithID1(*Component) WithID2(NumberofCopies) ToNValue(#NumCopies) UseNValueDefault(42)ForLanguage
ForLanguageというクリップボードの補助パラメータがあります。これは記憶したものが言語に依存する情報の場合に使用できます。通常以下のように使います。
Invoke #AvFrameworkManager.avSaveValue WithID1(*Component) WithID2(#HelloMessage.Name) FromAValue(#HelloMessage) FoLanguage(*Language)したがって、クリップボードは異なる言語ごとに異なる#HelloMessage値を保持できることになります。
Instance
Instanceという数値型の補助パラメータがあります。これはクリップボードの値のインスタンスを保持します。これはクリップボードにリストを記憶させる場合に効果的です。
例えば、使用しているプログラムに社員番号(#EmpNo)および給与(#Salary)を含むリスト・ビューがあるとします。 この場合、以下のコードを使用します。
Change #Instance 0 SelectList #ListView
Change #Instance '#Instance + 1'
Invoke #AvFrameworkManager.avSaveValue WithID1(*Component) WithID2(EMPLOYEE_LIST_EMPNO) FromAValue(#Empno) Instance(#Instance)
Invoke #AvFrameworkManager.avSaveValue WithID1(*Component) WithID2(EMPLOYEE_LIST_SALARY) FromNValue(#Salary) Instance(#Instance)
Endselect
Invoke #AvFrameworkManager.avSaveValue WithID1(*Component) WithID2(EMPLOYEE_LIST_COUNT) FromNValue(#Instance)
これにより、クリップボードに社員の番号と給与のリスト(とカウント)を作成します。