文章目录
- [第十八章 调用Callout Library函数 - 使用 $ZF(-5) 通过系统 ID 访问库](#第十八章 调用Callout Library函数 - 使用 $ZF(-5) 通过系统 ID 访问库)
- [使用 `ZF(-5)\` 通过系统 \`ID\` 访问库](#使用 `ZF(-5)` 通过系统 `ID` 访问库)
-
-
- [加载库并使用 `ZF(-5)\` 调用函数](#加载库并使用 `ZF(-5)` 调用函数)
-
第十八章 调用Callout Library函数 - 使用 $ZF(-5) 通过系统 ID 访问库
使用 $ZF(-5)
通过系统 ID
访问库
$ZF(-5)
函数使用系统定义的库和函数标识符来调用库函数。在进行许多库函数调用的应用程序中,这可以显着减少处理开销。可以同时打开多个库。每个库只需加载一次,每个库或函数标识符只需生成一次。实用函数 $ZF(-4,1)
、$ZF(-4,2)
和 $ZF(-4,3)
用于获取所需的标识符以及加载或卸载库:
$ZF(-5)
调用由系统定义的库和函数标识符引用的函数。$ZF(-4,1)
加载库。它采用库文件名并返回系统定义的已加载库的库 ID 值。$ZF(-4,2)
--- 卸载由库ID
指定的标注库。$ZF(-4,3)
--- 返回给定库ID
和函数名称的函数ID
值。
$ZF(-4,1)
和 $ZF(-4,3)
函数用于加载 Callout
库并获取库和函数标识符。 $ZF(-4,1)
的语法是:
java
lib_id = $ZF(-4,1,lib_name) // get library ID
其中 lib_name
是共享库文件的全名和路径,lib_id
是返回的库 ID
。 $ZF(-4,3)
的语法是:
java
func_id=$ZF(-4,3,lib_id, func_name) // get function ID
其中 lib_id
是库 ID
,func_name
是库函数名称,func_id
是返回的函数 ID
值。
以下 ObjectScript
代码加载 Callout
库 mylibrary.dll
并获取库 ID
,然后获取"MyFunction
"的函数 ID
并使用 $ZF(-5)
调用它:
加载库并使用 $ZF(-5)
调用函数
java
set libID = $ZF(-4,1,"C:\calloutlibs\mylibrary.dll")
set funcID = $ZF(-4,3,libID, "MyFunction")
set x = $ZF(-5,libID, funcID, "arg1")
一旦定义了标识符,库将保持加载状态,直到被 $ZF(-4,2)
卸载,并且可以使用标识符而无需进一步调用 $ZF(-4,1)
或 $ZF(-4, 3)
。当多次调用多个库中的函数时,这可以消除大量的处理开销。
以下ObjectScript
代码加载两个不同的库,并在长循环中调用这两个库中的函数。 inputlibrary.dll
中的函数获取数据,outputlibrary.dll
中的函数绘制并存储数据: