明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3289|回复: 1

关于acedCommand的讨论

[复制链接]
发表于 2005-3-19 16:03:00 | 显示全部楼层 |阅读模式
ARX的帮助里说:使用acedCommand有三个原则: 1、在注册为透明ARX(ACRX_CMD_TRANSPARENT)的应用程序中不使用 2、不使用acedCommand函数去执行其他任何通过acedRegCmds->addCommand()注册的命令。(可以用acedInvoke()) 3、在允许用户交互操作的场合,不使用 我有一个疑问:我在A.ARX中调用另外一个B.ARX程序,同样都是透明命令,用acedCommand也可以实现调用啊。反倒用acedInvoke()调用会出毛病 如果想通过A.ARX中调用B.ARX程序,不知道大家是怎么实现的。 void A() //A是注册的命令
{

if(acedArxLoad("B.arx")!=RTERROR)
{
acedCommand(RTSTR,"B",RTNONE); //B是B.ARX中注册的命令 if(acedArxUnload("B.arx")==RTERROR)
acedAlert("卸载失败!\n请重新启动系统!或者联系管理员");
}
else
acedAlert("加载失败!\n请重新启动系统!或者联系管理员"); }
发表于 2005-3-24 10:43:00 | 显示全部楼层
那个不能使用指的是避免在某些情况下使用, 以避免过多re-entrance(因为acedCommand, 透明命令, addCommand注册的命令等等都是靠堆栈, 使用时要避免堆栈冲突, 所以最多只允许re-entry四次), 不是一次都不能用.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 07:26 , Processed in 0.179449 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表