kInitAppMsg
|
注册服务、类、AcEd 命令和反应器以及 AcRxDynamicLinker 反应器。初始化应用程序的系统资源,例如设备和窗口。执行所有一次性早期初始化。AcRx、AcEd 和 AcGe 都处于活动状态。如果要解锁和重新锁定应用程序,请存储 pkt 参数的值。
不要期望设备驱动程序被初始化,任何用户界面资源都处于活动状态,应用程序将按特定顺序加载,AutoLISP 存在,或者任何数据库都处于打开状态。涉及任何这些假设的调用都会导致错误情况,有时甚至是致命的。AcDb 和 AcGi 文库通常尚未激活,尽管相关的 AcRx 和其他结构已经到位。
|
kUnloadAppMsg
|
执行最终系统资源清理。现在,在 kInitAppMsg 中启动或创建的任何内容都应停止或销毁。
不要指望事情与 kInitAppMsg 的描述有任何不同。在进行此调用时,AutoCAD 可能大部分被拆除,但 kInitAppMsg Do 描述中列为活动的库除外。
|
kOleUnloadAppMsg
|
此消息应仅由在 Windows 上使用 ActiveX 自动化的应用程序响应。
如果可以卸载应用程序(其他应用程序未引用其 ActiveX 对象或接口),请使用 AcRx::kRetOK 进行响应。如果无法卸载,请使用 AcRx::kRetError 进行响应。
|
kLoadDwgMsg
|
请执行与当前图形编辑会话相关的初始化。AcDb、AcGi 和用户界面 API 现在都处于活动状态。未指定是否对图形进行了任何操作。AutoCAD 提供的所有 API 现在都处于活动状态。此时可以执行 AutoLISP 函数注册,并初始化用户界面。现在要执行的其他操作包括轮询 AutoCAD 驱动程序和查询 AcEditorReactor 事件(如果您希望尽可能早地访问 )。acdbHostApplicationServices()->workingDatabase()
不要在每次图形编辑会话中执行任何您不希望发生的事情。假设每次程序执行时多次发送此消息。
|
kUnloadDwgMsg
|
释放或清理为响应 kLoadDwgMsg 代码而启动或注册的所有内容。释放所有AcDb反应器,不包括持久性反应器。
不要释放与编辑会话无关的系统资源,也不要清理 AcRx 类、AcEd 反应器或命令;它们在编辑会话中仍然有效。
|
kDependencyMsg
|
当其他应用程序依赖于应用程序时,请执行应用程序所需的任何操作,例如锁定应用程序,使其无法卸载。
|
kNoDependencyMsg
|
当不再有任何其他应用程序依赖于您的应用程序时,请执行应用程序所需的任何操作,例如解锁应用程序,以便用户可以根据需要卸载应用程序。
|
kInvkSubrMsg
|
调用注册了 的函数。通过调用 来确定函数。使用 acedRetxxx() 返回值。acedDefun()acedGetFuncode()
除了函数调用之外,这里不要做太多事情。
|
kPreQuitMsg
|
请卸载应用程序控制的任何依赖项(应用程序、DLL 等),以确保在应用程序之前卸载它们。
|
kEndMsg
kCfgMsg
kQuitMsg
kSaveMsg
|
请考虑使用 AcEditorReactor 事件回调作为响应这些消息的替代方法。
如果您要响应通过 AcEditorReactor 发出的等效事件回调,请不要响应这些消息。
|