CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ObjectARX 开发指南

协议反应器框架

2022-12-31 17:20| 发布者: admin| 查看: 295| 评论: 0|来自: AutoCAD

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

框架定义的主要对象包括

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

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

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

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

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

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


路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2024-5-19 11:59

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部