Java プログラムとの間の呼び出し

Java™ コードに関連して実行可能な呼び出しを以下に示します。

EGL 生成の Java プログラムから EGL 生成の Java プログラム

別の EGL 生成のプログラムから EGL 生成のプログラムを呼び出す手順は、call ステートメントを使用してターゲット・プログラムの Java クラスを呼び出す手順と同じように簡単です。 ただし、パッケージの従属関係には注意してください。 以下のいずれかのクラスを呼び出す必要があります。
  • 呼び出し側プログラムと同じパッケージ内にあるクラス。
  • ドット構文を使用したパッケージ名で修飾したクラス。
  • リンケージ・オプションで識別されたクラス。 詳しくは、リンケージ・オプション・パーツの概要を参照してください。

非 EGL Java プログラムから EGL プログラム

非 EGL 生成の Java プログラムから EGL 生成のプログラムを呼び出すには、 以下を実行します。

EGL 生成の Java プログラムから非 EGL Java プログラム

EGL によって生成された Java コードから非 EGL Java コードを呼び出すには、タイプ JavaObject のインターフェース・パーツを作成する必要があります。 インターフェース・パーツには、呼び出す Java メソッドの関数の記述が含まれています。

以下の 2 つの方法のいずれかで Java メソッドを呼び出します。
  • 関数が静的とマーク付けされている場合は、インターフェース・パーツの名前およびドット構文 (interfacePart.method()) を使用して呼び出します。
  • それ以外の場合は、そのインターフェース・パーツに基づいて変数を作成し、それをライブラリー名と同じ方法で使用します。 つまり、ドット構文を使用して、メソッド名にインターフェースの変数名を付加します (interface.method())。
Java クラスはそれ自身をインスタンス化するメソッドを提供する必要がありますが、EGL では Java クラスをインスタンス化できないことに注意してください。

EGL 生成の Java プログラムから DLL

C または COBOL などで作成した単一の非 EGL ダイナミック・リンク・ライブラリー (DLL) 内の各関数は、EGL Java プログラムから呼び出すことができます。 DLL のファイル拡張子は、ご使用の環境によって異なります (.dll、.so、および .sl など)。

EGL プログラムと DLL の間のインターフェースとして動作する、タイプ nativeLibrary のライブラリー・パーツを作成します。 ライブラリー・パーツには関数名およびパラメーターがリストされ、関数名が EGL の規則と一致しない場合は関数の alias プロパティーを使用できます。

関数にアクセスするには、ドット構文 (library.function()) を使用するか、またはその関数をプログラムのグローバルにするライブラリーの use 宣言を作成します。

EGL 生成の Java プログラムから .EXE ファイルまたは .BAT ファイル

EGL には、システム・コマンド (.bat または .exe 実行可能ファイルなど) の呼び出しを可能にする 2 つの関数が用意されています。
sysLib.callCmd()
この関数は、指定した実行可能ファイルに制御権を移動します。 その実行可能ファイルが終了すると、制御権は呼び出し側の EGL プログラムに戻ります。
sysLib.startCmd()
この関数は、指定した実行可能ファイルに制御権を移動します。 その後は実行を保持し、EGL プログラムおよび実行可能ファイルの両方が同時に実行されます。

フィードバック