CallProg

 

Magicプログラムの呼び出し

Magic xpaのプログラムを呼び出し、タスクの[戻り値]特性に定義された値を取得します。

構文:

CallProg(プログラム番号,パラメータ1,パラメータ2 ,..)

パラメータ:

  • プログラム番号 …… プログラムリポジトリ上の番号

  • パラメータ …… プログラムに渡す引数

戻り値:

呼ばれたプログラムが返す戻り値(タスク特性で定義された戻り値)

例:

Str(CallProg('23'PROG,A,FG,'Preferd',23),'2P0')

 

23 番のプログラム呼び出され、数値が返ります。

注意事項:

  • NULL値はCallProg関数のパラメータとして渡すことができません。また、NULL値を戻り値として受け取ることもできません。

  • [アクション]処理コマンドでCallProg関数の式を指定した場合、[戻り値]特性には「False」が返ります(呼び出されたプログラムの戻り値ではありません)。

  • リッチクライアントの場合、CallProg関数によって呼び出されるプログラムは戻り値を返しません。これはプログラムが終了するまで待たないためです。

  • この関数で呼び出された並行起動設定のリッチクライアントプログラムは、並行起動されません。

以下の表は、CallProg関数と[コール]処理コマンドを比較したものです。

CallProg 関数

[コール]処理コマンド

プログラムのみ呼び出せます。

プログラムまたはタスクを呼び出すことができます。

パラメータを受け取る事はできません。

任意のパラメータの受け渡しが可能です。

パラメータは、「値渡し」で渡されます。

パラメータは、「値渡し」または「参照渡し」で渡されます。

起動されるプログラムの[戻り値]特性に設定した値が戻り値として返ります。

起動されるプログラムの[戻り値]特性に設定した値が、[戻り値]特性に設定された項目に返ります。

式が定義できる場所であれば、タスクのどこにでも使用することができます。

[ロジック]エディタ内でのみ定義できます。

手続型または無手続き型のどちらの方法でも実行させることができます。

手続上の処理コマンドとしてのみ実行させることができます。