- 论坛徽章:
- 0
|
ILE RPG4 C表常用操作码学习笔记(按字母顺序发)
CALLB(调用一个连接过程)
操作码 因子1 因子2 结果字段 指示器
CALLB 过程名或 PLIST名 - ER LR
(D) 过程指针
CALLB操作可以用来调用任何ILE语言编写的连接过程。
因子1必须是空格,扩展操作D可以用来包括操作描述符。
注:操作描述符提供给程序员运行时传过来的字符或图形串的确切属性(即串的长度及类型)。详细内容请查阅程序员指南。
因子2是必须的,是一个包含被调用过程名的文字或常量,也可是一个包含被调用过程地址的过程指针。提供的过程名区分大小写且可多于10个字符,但不能超过255个。如果超过要被截断,结果字段为可选项,也可是一个PLIST名。
当调用因错误而结束时,73-74列上说明的指示器置为ON。
当调用以LR为ON结束时,75-76列上说明的指示器置为ON。
注:当CALLB规定为文字或命名常量以“CEE”或“-”开始时,编译程序就把它当作可连接API。有关API的详细信息见SPI参考手册。为了避免与系统提供的APIs混淆,自已的过程不要以“CEE”开头来命名。
在因子2中有过程指针的CALLB,PSDS中的*ROUTINE可以包括文字“*N”。在因子2中有文字或命名常量的CALLB,PSDS中的*ROUTINE包含过程名的前8个字符。
DName+++++++++++ETDsFrom+++To/L+++IDc.Keywords+++++++++++++++++++++++++++++
D* Define a procedure pointer
D
D ProcPtr S * PROCPTR INZ(%PADDR('Create_Space'))
D Extern S 10
D
CL0N01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq....
C* 下面的调用是静态调用.
C CALLB 'BOUNDPGM'
C* 下面的调用是动态调用.
C CALL Extern
C* 下面的调用是静态调用, 使用一个过程指针.
C CALLB ProcPtr |
|