basicLibrary 型のライブラリー・パーツには、プログラム、PageHandler、または他のライブラリーから使用できる一連の関数、変数、および定数が格納されます。
ライブラリーを使用して、共通コードおよび値を、最大限再利用することをお勧めします。
タイプ指定 basicLibrary は、そのパーツがコンパイル可能単位内に生成され、ローカル実行用の EGL の値とコードを含んでいることを示しています。
このタイプは、キーワード type が指定されなかったときのデフォルトです。
EGL で生成された Java™ プログラムからネイティブ DLL にアクセスするためのライブラリーを作成する方法の詳細については、『nativeLibrary 型のライブラリー・パーツ』を参照してください。
basicLibrary 型のライブラリーに関する規則は、以下のとおりです。
- プログラム固有の Use 宣言にライブラリーを組み込む場合のみ、ライブラリー名を指定せずに、ライブラリーの関数、変数、および定数を参照することができます。
- ライブラリー関数では、呼び出し元のプログラムまたは PageHandler
と関連する任意のシステム変数にアクセスすることができます。以下の規則が適用されます。
- ライブラリー内の関数がレコードを引数として受け取る場合、そのレコードを入力または出力 (I/O) に使用したり、endOfFile などの I/O 状態のテストに使用したりすることはできません。
しかし、ライブラリーを呼び出すコードでは、その両方にレコードを使用できます。
- ライブラリー内のレコードを宣言した場合、ライブラリー・ベースの関数でそのレコードを入力または出力 (I/O) に使用するか、I/O 状態のテスト (例えば、ファイルの終わりであるかどうかのテスト) に使用できます。
しかし、ライブラリーを呼び出すコードでは、そのどちらにもレコードを使用できません。
- ライブラリー関数は、以下を除くすべての文を使用できます。
- converse
- forward
- show
- transfer
- ライブラリーはテキスト書式にアクセスできません。
- テキストまたは印刷書式にアクセスするライブラリーには、関連する書式グループの使用宣言を組み込む必要があります。
- 関数、変数、または定数宣言で修飾子 private
を使用し、エレメントがライブラリー外部で使用されることのないようにできます。
- public として宣言された (デフォルトと同じ) ライブラリー関数は、ライブラリーの外から使用可能で、loose 型のパラメーターを持つことはできません。これは、特別な種類のプリミティブ・タイプで、パラメーターが一定の範囲の引数の長さを受け入れる場合にのみ使用できます。loose 型の詳細については、『EGL ソース形式の関数パーツ』を参照してください。
- COBOL 出力の場合、生成されるライブラリー名および public ライブラリー関数名の長さは、8 文字以下であることが必要です。
ライブラリーは、そのライブラリーを使用するパーツとは別に生成されます。EGL ランタイムは、ライブラリー・パーツにアクセスする場合、ライブラリー・プロパティー alias の設定値を使用します。このプロパティーのデフォルト値は、EGL ライブラリー名です。
実行時には、ライブラリーは最初に使用されるときに
ロードされ、そのライブラリーにアクセスしたプログラムまたは PageHandler が (実行単位が
終了したときのように) メモリーから離れたときにアンロードされます。
PageHandler は、ロードされるたびにライブラリーの新しいコピーを取得します。また、別のライブラリーによって呼び出されたライブラリーは、呼び出し元のライブラリーが存続している間はメモリー内に存続します。
定数専用のライブラリーは、実行時にロードされません。