3.1.3、为AutoCAD程序实现入口点函数

来源:互联网 发布:送女生生日礼物 知乎 编辑:程序博客网 时间:2024/05/16 23:49

同c++中的main()入口点函数一样,AutoCAD通过acrxEntryPoint()这个入口点函数调用ObjectARX模块,你需要自己实现这个入口点函数,下面给出说明。

acrxEntryPoint()函数作为ObjectARX应用程序和AutoCAD(或其他调用程序)通讯的入口点函数,ObjectARX应用程序同AutoCAD通讯的过程中会返回运行结果的状态码,所有需要调用的函数定义都是由入口点函数关联的。如果你使用ObjectARX或者acedRegFun()函数定义一个函数,要AutoCAD中运行这个函数,需要发送一个命令,详细说明见(加载一个ObjectARX应用程序)。

acrxEntryPoint()函数有如下声明

extern "C"AcRx::AppRetCode acrxEntryPoint(AcRx::AppMsgCode msg, void* pkt);
msg:代码ObjectARX内核发送给应用程序的消息

pkt:持有包数据值

在这个函数的实现代码中,你需要编写一个switch或者普通的代码来解析当前的消息种类,每个消息对应执行相应的操作,并返回一个整数状态值。

警告:除了kOleUnloadAppMsg消息和kUnloadAppMsg消息,如果这个函数最后返回kRetError那么会导致你的应用程序被卸载。

下面的代码显示了一个有效的switch语句的骨架
AcRx::AppRetCode acrxEntryPoint(AcRx::AppMsgCode msg, void* pkt) {    switch(msg) {        case AcRx::kInitAppMsg:            break;        case AcRx::kUnloadAppMsg:            break;        ...        default:            break;    }    return AcRx::kRetOK;}



0 0
原创粉丝点击