实现 AutoCAD 的入口点
AutoCAD 通过 调用 ObjectARX 模块,该模块替换了 C++ 程序的功能。您负责实现该功能,如本节所述。acrxEntryPoint()main()acrxEntryPoint() 该函数用作 AutoCAD(或其他主机程序)与 ObjectARX 应用程序通信的入口点。ObjectARX 程序可以通过返回状态代码来与 AutoCAD 进行通信。调用 定义的函数的所有请求都是由函数发出的。如果使用 ObjectARX 或函数定义新命令,AutoCAD 将立即执行与该命令关联的功能(请参见加载 ObjectARX 应用程序)。acrxEntryPoint()acedDefun()acrxEntryPoint()acedRegFunc() 该函数具有以下签名: acrxEntryPoint() extern "C" AcRx::AppRetCode acrxEntryPoint(AcRx::AppMsgCode msg, void* pkt);
在函数的定义中,您可以编写 switch 语句或类似代码来破译来自 AutoCAD 的消息,执行与每条消息相关的相应操作,并返回整数状态值。acrxEntryPoint() 危险:使用 for 函数的最终返回值将导致应用程序被卸载,但 messages 和 .在这些情况下,如果返回,则不会卸载应用程序。kRetErroracrxEntryPoint()kOleUnloadAppMsgkUnloadAppMsgkRetError
以下代码显示了有效 switch 语句的框架: extern "C" AcRx::AppRetCode acrxEntryPoint(AcRx::AppMsgCode msg, void* pkt) { switch(msg) { case AcRx::kInitAppMsg: break; case AcRx::kUnloadAppMsg: break; ... default: break; } return AcRx::kRetOK; } 父主题: |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2024-12-15 12:42
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.