处理外部应用程序
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, 2025-10-29 09:55
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.