该框架使用 AcRx 协议扩展机制将类反应器对象与 AcRx 类相关联。此框架由一组基类和宏组成,这些基类和宏有助于注册从 AcRx 类派生的类。AcRxProtocolReactorAcRxProtocolReactor 框架定义的主要对象包括
协议反应器派生自类。此基类仅提供运行时类型标识。从类派生的反应器通过添加专用通知回调函数来公开事件模型。例如,ObjectARX 提供了反应器类,用于向块定义添加夹点、插入点和对齐点。AcRxProtocolReactorAcRxProtocolReactor 为了接收事件通知,应用程序派生自所需的反应器类。然后,他们使用 anobject 将其派生类的实例附加到相应的 AcRx 类。AcRxProtocolReactorManager 每个 AcRx 类最多有一个对象。如果在应用程序请求 AcRx 类时 noobject 与该类相关联,则应用程序必须调用全局对象来创建一个。工厂对象自动将新的管理器对象注册到指定的 AcRx 类,并返回指向调用应用程序的 new指针。AcRxProtocolReactorManagerAcRxProtocolReactorManagerAcRxProtocolReactorFactoryAcRxProtocolReactorManager Anobject 维护使用其关联的 AcRx 类注册的反应器对象的列表。这些列表是类的对象。每个管理器都为注册到其 AcRx 类的每个反应堆类类型维护一个单独的列表。应用程序使用指针将其自定义反应器对象添加到相应的列表中。与普通协议扩展不同,协议反应器类的多个对象可能与单个 AcRx 对象相关联,如下图所示:AcRxProtocolReactorManagerAcRxProtocolReactorListAcRxProtocolReactorManager 应用程序负责分配和解分配反应堆对象。分配反应器后,应用程序会将其添加到反应器列表中。在卸载之前,应用程序应从反应器列表中删除其反应器并释放关联的内存。尽管应用程序通常在加载时分配反应堆,并在卸载时解除分配反应堆,但实际时间由应用程序决定。 |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-1-8 19:32
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.