以下に注意してください。

  • クリップボードの情報は通常フレームワークの実行を超えて記憶されます。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)


これにより、クリップボードに社員の番号と給与のリスト(とカウント)を作成します。

  • No labels