Mechanical ARX 无法打开图纸

用ARX对ACAD Mechanical版本进行开发发现使用acDocManager->appContextOpenDocument方法时会出现eNotApplicable错误,此时调用acDocManager->isApplicationContext会发现此时的Context不在Application中,而appContextOpen必须在ApplicationContext下运行。

最后发现在需要调用到appContextOpenDocument的命令的注册方法flags参数中加上ACRX_CMD_MODAL就好了。

如:acedRegCmds->addCommand(_T("Test"), _T("Test"), _T("Test"), ACRX_CMD_MODAL|ACRX_CMD_SESSION,Test);

出现此错误的原因视乎是在没有加ACRX_CMD_MODAL时,会将命令的执行Context锁定到当前文档,如果要运行需要ApplicationContext环境的函数就会报错。

另外添加了ACRX_CMD_MODAL后命令的执行效率会不同,同时还有一些其他的限制(具体的我没有详细研究,其中有个限制是,在执行一些行为时会有需要锁定文档的要求)。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值