第十八章 调用Callout Library函数 - 使用 $ZF(-5) 通过系统 ID 访问库

文章目录

  • [第十八章 调用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 是库 IDfunc_name 是库函数名称,func_id 是返回的函数 ID 值。

以下 ObjectScript 代码加载 Calloutmylibrary.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 中的函数绘制并存储数据:

相关推荐
xiangyun6123 分钟前
【408数据结构 08】队列:循环队列判空判满,408年年考,一次讲清
c语言·开发语言·数据结构·c++·算法
xiangyun6135 分钟前
【408数据结构 06】双链表、循环链表、静态链表
c语言·开发语言·数据结构·c++·算法
白远山2 小时前
家政服务家政社区派单实战:调度系统架构设计与实现指南
java·开发语言·小程序·架构·需求分析
DevRay3 小时前
Java 21虚拟线程深度实战:告别线程池焦虑,百万并发吞吐量直接翻倍(原理+代码+避坑)
java·开发语言
free-elcmacom3 小时前
C++学习<1>程序分区
开发语言·c++
醉颜凉3 小时前
Java 必看:如何彻底避免 HashMap 多线程死循环问题?
java·开发语言
默 语3 小时前
Java新手入门:从零开始安装JDK并配置环境变量
java·开发语言·python·mysql·group by·1024程序员节·数据去重
Brilliantwxx3 小时前
【STM32】 I2C_EEPROM_test 工程(实战篇)
开发语言·stm32·单片机·嵌入式硬件·ecmascript
清水白石0084 小时前
Python 异步编程深度解析:Cancellation 到底是异常还是控制信号?从 asyncio 取消机制到企业级事务设计最佳实践
开发语言·python
kolyle4 小时前
万级 QPS 下的 Token 分发系统架构:从 0 到 1 跑通 AI 时代的“水电煤“
开发语言·人工智能·系统架构·token·qps·极智词元·大模型私有化部署