CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2022 开发者帮助

协议反应器框架

2024-5-18 18:50| 发布者: admin| 查看: 14| 评论: 0|原作者: admin|来自: AutoCAD

协议反应器框架

该框架使用 AcRx 协议扩展机制将类似反应器的对象与 AcRx 类相关联。该框架由一组基类和宏组成,这些基类和宏便于注册派生自 AcRx 类的类。AcRxProtocolReactorAcRxProtocolReactor

框架定义的主要对象包括

  • 全局协议反应堆工厂对象(类的实例)AcRxProtocolReactorFactory
  • 多个协议反应器管理器对象(类的实例)AcRxProtocolReactorManager
  • 协议反应器的基类(类)AcRxProtocolReactor
  • 协议反应器列表(类的实例)AcRxProtocolReactorList
  • 列出迭代器(类的实例)AcRxProtocolReactorListIterator

协议反应器源自该类。此基类仅提供运行时类型标识。从类派生的 Reactor 通过添加专用的通知回调函数来公开事件模型。例如,ObjectARX 提供了用于向块定义添加夹点、插入点和对齐点的反应器类。AcRxProtocolReactorAcRxProtocolReactor

为了接收事件通知,应用程序从所需的反应器类派生。然后,它们使用对象将其派生类的实例附加到相应的 AcRx 类。AcRxProtocolReactorManager

每个 AcRx 类最多有一个对象。如果应用程序请求 AcRx 类时没有对象与 AcRx 类关联,则应用程序必须调用全局对象来创建一个。工厂对象自动将新的管理器对象注册到指定的 AcRx 类,并返回指向调用应用程序的新指针。AcRxProtocolReactorManagerAcRxProtocolReactorManagerAcRxProtocolReactorFactoryAcRxProtocolReactorManager

对象维护与其关联的 AcRx 类注册的 reactor 对象列表。这些列表是类的对象。每个管理器都为在其 AcRx 类中注册的每个反应器类类型维护一个单独的列表。应用程序使用指针将其自定义反应器对象添加到相应的列表中。与普通协议扩展不同,协议反应器类的多个对象可能与单个 AcRx 对象相关联,如下图所示:AcRxProtocolReactorManagerAcRxProtocolReactorListAcRxProtocolReactorManager

应用程序负责分配和解除分配反应堆对象。分配反应器后,应用程序会将其添加到反应器列表中。在卸载之前,应用程序应从反应器列表中删除其反应器并释放关联的内存。尽管应用程序通常在加载时分配反应堆,并在卸载时解除分配反应堆,但实际时间由应用程序决定。


路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )

GMT+8, 2024-6-27 16:13

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部