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 函数的最终返回值将导致应用程序被卸载,但消息和除外。在这些情况下,如果返回 ifis,则不会卸载应用程序。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, 2025-1-8 19:27
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.