$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)
的语法是:
lib_id = $ZF(-4,1,lib_name) // get library ID
其中 lib_name
是共享库文件的全名和路径,lib_id
是返回的库 ID
。 $ZF(-4,3)
的语法是:
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)
调用函数 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
中的函数绘制并存储数据: