处理外部应用程序
ObjectARX 应用程序可以加载和卸载其他 ObjectARX 应用程序,并获取当前加载的外部应用程序的列表,就像 AutoLISP 程序一样(使用 )。以下调用加载名为 myapp 的程序:arxloaded if (acedArxLoad("myapp") != RTERROR) { // Use acedInvoke() to call functions in "myapp". } 当您的程序使用 myapp 完成后,它可以通过调用来卸载它:acedArxUnload() acedArxUnload("myapp"); 该函数可用于获取所有当前加载的应用程序的名称,如以下代码所示:acedArxLoaded() struct resbuf *rb1, *rb2; for (rb2 = rb1 = acedArxLoaded(); rb2 != NULL; rb2 = rb2->rbnext) { if (rb2->restype == RTSTR) acutPrintf("%s\n", rb2->resval.rstring); } acutRelRb(rb1); 您可以调用这些函数并相互结合。以下示例卸载除当前应用程序之外的所有应用程序:acedArxLoaded()acedArxUnload() struct resbuf *rb1, *rb2; for (rb2 = rb1 = acedArxLoaded(); rb2 != NULL; rb2 = rb2->rbnext) { if (strcmp(ads_appname, rb2->resval.rstring) != 0) acedArxUnload(rb2->resval.rstring); } acutRelRb(rb1); |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2024-12-15 22:10
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.