类型为
basicLibrary 的库部件包含一组可以由程序、PageHandler
或其它库使用的函数、变量和常量。建议您通过使用库来最大程度地重用公共代码和值。
类型说明 basicLibrary 指示该部件将生成到可编译单元中并且包括用于本地执行的 EGL 值和代码。如果未指定关键字
type,则此类型为缺省值。有关创建库以从 EGL 生成的 Java™ 程序中访问本地 DLL 的详细信息,请参阅类型为 nativeLibrary 的库部件。
类型为
basicLibrary 的库的规则如下所示:
- 可以在不指定库名的情况下引用库的函数、变量和常量,但是仅当将该库包括在特定于程序的使用声明中时才能这样做。
- 库函数可以访问任何与调用程序或 PageHandler 相关联的系统变量。下列规则适用:
- 库中的函数接收到作为自变量的记录时,该记录不能用于输入或输出(I/O)或测试 I/O
状态(如 endOfFile)。但是,调用该库的代码可以任一方式使用该记录。
- 在库中声明记录时,基于库的函数可将该记录用于输入或输出(I/O)或测试 I/O
状态(如文件结束)。但是,调用该库的代码不能以任一方式使用该记录。
- 库函数可以使用除下列语句以外的任何语句:
- converse
- forward
- show
- transfer
- 库不能访问文本表单。
- 访问打印表单的库必须包括相关表单组的使用声明。
- 可以对函数、变量或常量声明使用修饰符 private,以防止在库外部使用该元素。
- 被声明为公用函数(这是缺省情况)的库函数在库外部可用,并且不能带有具有松散类型的参数。松散类型是一种特殊的基本类型,仅当您希望参数接受特定范围的自变量长度时,才能使用松散类型。有关松散类型的详细信息,请参阅 EGL 源格式的函数部件。
库是独立于使用它的部件生成的。EGL 运行时通过使用库属性
alias 的设置(缺省为 EGL 库名)来访问库部件。
在运行时,该库是在第一次使用时装入的,并且在访问该库的程序或 PageHandler
离开内存(在运行单元结束时)时卸装的。。
每当装入 PageHandler 时,该 PageHandler 都将获得库的新副本。并且,对于被另一个库调用的库,只要调用库存在于内存中,被调用库也一直存在于内存中。
由于常量在引用它们的程序和 PageHandler
中是作为文字生成的,所以,在运行时不装入只包含常量的库。