外部プログラム通信

  1. 外部プログラム通信とは

  2. このコンポーネントは、プラットフォームの外にある外部プログラムを起動したのち、 そのプログラムとの入出力ストリームを確保し、通信を行います。
    ただし、起動する外部プログラムは、GUIを持たないコマンドライン式のものとします。
    通信の仕方には、対話モードと非対話モードの2つがあります。
    対話モードの場合、1つの コマンド処理が終了し、その返値を受け取ってから次のコマンドを送信します。
    非対話モードの場合、送信したコマンドの処理状況に関わらず、setCommand()によって設定されたコマンドを随時送信し、最後に 外部プログラムが終了した時点で、すべての外部プログラム出力をまとめて 受け取ります。
    対話モード、非対話モードのいずれにおいても、setCommand()による送信コマンドの設定は、任意のタイミングで行うことができ ます。

    参考:コンポーネントリファレンス>外部プログラム通信

    1. 主なメソッド

      1. 標準のアプリケーションでファイルを開く(File)
        起動したいファイルの絶対パス、またはアプリケーションビルダーまたはローダーの実行フォルダからの相対パスを指定し、関連付け られているアプリケーションでファイルを開くことができます。
      2. <引数設定例>
        1. 引数に取得方法:固定値、メソッド/値:「AP_DATA\Sample.mzax」を指定するとアプ リケーションローダーでSample.mzaxが開かれる。
        2. 引数に取得方法:固定値、メソッド/値:「AP_DATA\Sample\Excelファイル(テーブル全体 用).xlsx"」を指定するとMicrosoft Office EXCELで開かれる。

      3. 標準のブラウザでWEBページを開く(String)
      4. 引数に開きたいWebページのURLを指定します。
      5. 通信先プログラムの終了()
        起動していたプログラムを終了させます。
        起動したプログラムによっては、先にこのメソッドを実行しないと上 手く動作しない場合があります。
    2. 主なイベント

      1. データ設定イベント
        メソッド「通信先プログラムの設定(String)」が行われたとき
      2. 処理完了イベント
        通信先プログラムの起動・終了またはコマンド送信が完了したとき
        ※詳しくはコンポーネントリファレンスを参照
      3. データ更新イベント
        送信コマンドの設定あるいは削除をしたとき
      4. データ生成イベント通信先
        外部プログラムから結果を受信したとき

(発展)起動用メイン画面の作成

    自分で作成したアプリケーションを起動用メイン画面から起動できるようにします。
    例として以下のような画面を作成します。
    画面編集

    接続処理作成
    1. 格納フォルダの取得
    2. ※メイン画面と起動したいアプリケーションファイルは同じフォルダに入れることとします。

      1. [フレーム]を接続し、メソッド「フレームを表示する()」を選択します。
      2. [システム情報]を接続し、メソッド「実行中のアプリケーションファイルを取得する()」を選択します。
      3. [ファイル]を接続し、メソッド「setFile(File)」を選択します。
        引数0:メソッド処理結果、実行中のアプリケーションを取得する
        メイン画面のファイルが[ファイル]に設定されます。
      4. [ファイル]を接続し、メソッド「このファイルが属しているディレクトリ名を取得する()」を選択します。
      5. [文字列格納変数]を接続し、メソッド「文字列を設定する(String)」を選択します。
        引数0:メソッド処理結果、このファイルが属しているディレクトリ名を取得する
      6. [文字列格納変数]を接続し、メソッド「文字列を設定する(String)」を選択します。
        引数0:メソッド戻り値、ファイル、パス名で使用する区切り文字を取得()
    3. アプリケーションファイルの起動
      1. [文字列格納変数]を接続し、メソッド「concat(String)」を選択します。
        引数0:固定値、ファイル名(例:購買依頼step7.mzax)
        ※メソッド「concat(String)」は引数の文字列が先に設定されている文字列と連結されますが、変数の値は置換わらず 戻り値が返るので、メソッド戻り値ではなくメソッド処理結果で値を取得します。
      2. [外部プログラム通信]を接続し、メソッド「標準のアプリケーションでファイルを開く(File)」を選択します。
        引数0:メソッド処理結果、concat(文字列格納変数)