如果该方法返回 Java 基本类型而不是对象,则 EGL 将存储表示该基本类型的对象;例如,如果该方法返回 int,则 EGL 将存储类型为 java.lang.Integer 的对象。
此自变量是字符串文字或类型为 CHAR、DBCHAR、MBCHAR、STRING 或 UNICODE 的变量。必须将该标识强制类型转换为 objID,如稍后的示例所示。EGL 将从自变量值的开头和末尾除去单字节和双字节空格,其中,自变量值是区分大小写的。
此自变量是字符串文字或类型为 CHAR、DBCHAR、MBCHAR、STRING 或 UNICODE 的项。如果正在指定对象的标识,则该标识必须被强制类型转换为 objID,如稍后的示例所示。EGL 将从自变量值的开头和末尾除去单字节和双字节空格,其中,自变量值是区分大小写的。
此自变量是字符串文字或类型为 CHAR、DBCHAR、MBCHAR、STRING 或 UNICODE 的变量。如果正在指定对象的标识,则该标识必须被强制类型转换为 objID,如稍后的示例所示。EGL 将从自变量值的开头和末尾除去单字节和双字节空格,其中,自变量值是区分大小写的。
可能需要进行强制类型转换,这在 Java 访问(系统字)中有所指定。
Java 类型转换规则生效。例如,即使将 short 传递给声明为 int 的方法参数,也不会发生错误。
为避免精度降低,使用 EGL 浮点项来表示 Java 双精度,并使用 EGL smallfloat 项来表示 Java 浮点。使用其它 EGL 类型中的某个类型可能导致值被四舍五入。
无论方法执行什么操作,调用程序中的内存区域都不会更改。
JavaLib.store( (objId)"storeId", (objId)"myId", "myMethod", 36 );
在处理 JavaLib.store 期间发生的错误会将 sysVar.errorCode 设置为下表中列示的值。
sysVar.errorCode 中的值 | 描述 |
---|---|
00001000 | 被调用方法抛出异常,或者作为类初始化的结果而抛出异常 |
00001001 | 对象为 null,或者指定的标识不在对象空间中 |
00001002 | 具有指定名称的公用方法、字段或类不存在或无法被装入 |
00001003 | EGL 基本类型与 Java 中期望的类型不匹配 |
00001006 | 未能装入已强制类型转换为 null 的自变量的类 |
00001007 | 在尝试获取关于方法或字段的信息时抛出了 SecurityException 或 IllegalAccessException;或者尝试设置已被声明为最终字段的字段的值 |
00001009 | 必须指定标识而不是类名;方法或字段不是静态的 |
相关概念
相关任务