应用程序名称与使用它们的每个实体的扩展数据一起保存在 APPID 表中。应用程序必须注册它使用的名称。在 ObjectARX 中,这是通过调用 to 来完成的。该函数指定要用作应用程序名称的字符串。如果可以成功将名称添加到 APPID,则返回;否则,它将返回。结果通常表示名称已在符号表中。这不是实际的错误条件,而是通常预期的返回值,因为每个图形只需注册一次应用程序名称。acdbRegApp()acdbRegApp()RTNORMRTERRORRTERROR 若要注册自身,应用程序应首先检查其名称是否尚未在 APPID 表中,因为每个图形只需要调用一次。如果名称不存在,应用程序必须注册它;否则,它可以继续使用数据。acdbRegApp() 以下示例代码片段显示了 的典型用法。acdbRegApp() #define APPNAME "Local_Operation_App_3-2" struct resbuf *rbp; static char *local_appname = APPNAME; // The static declaration prevents a copy being made of the string // every time it's referenced. . . . if ((rbp = acdbTblSearch("APPID", local_appname, 0)) == NULL) { if (acdbRegApp(APPNAME) != RTNORM) { // Some other // problem acutPrintf("Can't register XDATA for %s.", local_appname); return BAD; } } else { acutRelRb(rbp); } |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )
GMT+8, 2024-5-19 12:45
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.