INVOKE ACTION
INVOKE ACTION ( action {; target} )
引数 | 型 | 説明 | |
---|---|---|---|
action | Text | → | 標準アクション名、あるいは(必要であれば)引数を含めたパターン |
target | Integer | → | アクションを実行する場所を定義: カレントフォーム(デフォルト)あるいはメインフォーム |
このコマンドはスレッドセーフではないため、プリエンプティブなコードには使えません。
説明
INVOKE ACTIONコマンドはaction 引数で定義された標準アクションを、任意のtarget 引数で指定したコンテキストでトリガーします。
action 引数には、実行したい標準アクションを渡します。文字列、あるいは標準アクション テーマの定数を渡すことができます。一部のアクションはターゲット要素および引数を受け取ります。この場合、例えば "gotoPage?value=2" or paragraph/backgroundPositionV?value=top などのパターンを使用する必要があります。
利用可能な4D アクションについては、4D デザインリファレンスマニュアルの標準アクション の章に一覧があります。
注意: 4D Write Pro ドキュメントに対しては、特定のアクションが追加されています。これらについては、4D Write Pro リファレンスマニュアル内の 4D Write Pro標準アクションの使用 の章に詳細な説明があります。
target 引数には、action 引数で指定したアクションを実行したいフォームコンテキストを渡すことができます。標準アクション テーマの以下の定数のうちどれか一つを使用することができます:
定数 | 型 | 値 | コメント |
---|---|---|---|
ak current form | 倍長整数 | 1 | カレントフォームはこのアクションが呼び出されたフォームです。メインフォーム、あるいはカレントプロセスのメインフォームの前面にあるパレットフォームのどちらかです。 |
ak main form | 倍長整数 | 2 | メインフォームとは最前面のドキュメントあるいはプロセスのダイアログフォームであり、フロートウィンドウやポップアップウィンドウなどは除きます。 |
注: target 引数が省略された場合、デフォルトでak current form コンテキストが使用されます。
target 引数によって、INVOKE ACTIONコマンドの実行は同期あるいは非同期で行われます:
- target 引数にak current form を渡した場合、INVOKE ACTION コマンドは同期で行われます。つまりそのアクションはカレントサイクルにおいてコマンドが呼び出された瞬間に実行されます。
- target 引数にak main form を渡した場合、INVOKE ACTION コマンドは非同期で行われます。つまりそのアクションはフォームオブジェクトの実行が完了した後に次のサイクルにおいて実行されます。
注: 標準の編集アクション(カット、コピー、ペースト、すべてを選択、削除、取り消す/やり直す)はtarget 引数を渡された場合、無視します。これらのアクションは常に、フォーカスが入っている編集可能オブジェクトコンテキストにおいて同期で実行されるからです。
INVOKE ACTION コマンドはエラーを生成しません。例えば、指定したアクションがカレントのコンテキストでは利用不可能な場合などにおいてもエラーは生成されません。Action info コマンドを使用して、予定しているアクションを評価する必要があります。
例題 1
カレントフォームにおいてコピーの標準アクションを実行したい場合を考えます:
INVOKE ACTION(ak copy;ak current form)
例題 2
メインフォームにおいて指定したページへ移動標準アクション(3ページ)を実行したい場合を考えます:
INVOKE ACTION(ak goto page+"?value=3";ak main form)