CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2021 开发者帮助

实现 AutoCAD 的入口点

2024-5-18 18:37| 发布者: admin| 查看: 62| 评论: 0|原作者: admin|来自: AutoCAD

实现 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);
味精

表示从 ObjectARX 内核发送到应用程序的消息。

PKT的

保存数据包数据值。

AppRetCode的

包含返回到 AutoCAD 的状态代码。

在函数的定义中,您可以编写 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;
}

路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2024-12-15 12:42

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部