本文将概述DDE扩展(DDE Extensions)与ZOS-API之间的区别,并提供顺利地从DDE扩展过渡到ZOS-API的帮助。
作者 Sandrine Auriol
简介
与ZOS-API一样,DDE扩展可以建立Windows程序与OpticStudio的通信链接,并可以使其他程序从OpticStudio中获取镜头数据。
https://docs.microsoft.com/en-us/windows/desktop/dataxchg/about-dynamic-data-exchange。
ZOS-API依赖于组件对象模型 ( Component Object Model, COM ) 接口。引用自: https://docs.microsoft.com/en-us/windows/desktop/com/component-object-model--com--portal: “COM是与平台无关的、分布式的、面向对象的系统,用于创建可以交互的二进制软件组件。COM是微软OLE(复合文档)和ActiveX(互联网驱动插件)技术的基础。”
ZOS-API根植于.NET库。根据用户对这两种语言的熟悉程度,可以选择使用COM或. NET语言进行API编程。https://docs.microsoft.com/en-us/windows/desktop/learnwin32/what-is-a-com-interface-
将DDE数据映射到ZOS-API方法。常见问题解答如何使用ZOS-API中的“PushLens”?
在DDE扩展中,“PushLens”将获取当前服务器内存中加载的镜头,并将其放在镜头数据编辑器( Lens Data Editor )中。
在ZOS-API可完成如下操作:
在交互扩展 ( Interactive Extension ) 模式下,镜头数据编辑器会自动更新。
在已编译的ZOS-API扩展中作为可执行文件。
在系统发生更改时,用户可以选择自动更新OpticStudio用户界面,也可以选择禁止更改,任何时候都可以从扩展中修改这个设置。默认情况下,ZOS-API扩展在当前打开的镜头文件上执行,但是用户也可以选择在临时系统上工作,这不会影响主系统。
请参阅帮助文件中的“插件/扩展 ( Plug-In/Extension ) ”部分(通过点击:编程 ( Programming )选项卡>关于ZOS-API (About the ZOS-API ) >插件/扩展 ( Plug-In/Extension ) 打开)。
如何在ZOS-API中使用“GetRefresh” ?
对于DDE扩展,“GetRefresh”使OpticStudio将所有镜头数据(波长、视场、编辑器等)复制到服务器的存储副本中。镜头随后更新,这意味着OpticStudio将重新计算所有光瞳位置、求解和折射率数据。
在ZOS- API中,通过访问类属性(例如:ILDERow类)和检索镜头数据来手动从ZOS到应用程序中检索镜头数据。