xinxirong 发表于 2015-5-18 10:12:11

acDocManager->openDocument()显示为另存为?


如图所示,我想实现的功能是打开,但显示“另存为”,虽然点打开能正常打开,但有时候options命令,menuload命令会失效。
程序太大,既有Lisp也有arx,都不知道是哪里出了问题
原来调试以为是这一句导至系统命令失效的:resOverride = new CAcModuleResourceOverride

xinxirong 发表于 2015-5-18 12:48:56

大家可以测试一下cad2005-2008,添加一个简单的命令比如qxdj
acDocManager->openDocument();
运行qxdj这个命令,哈哈,op命令没反应了吧?

xinxirong 发表于 2015-5-18 13:10:42

原来是
ACED_ARXCOMMAND_ENTRY_AUTO不行
要用这个才行
ACED_ADSCOMMAND_ENTRY_AUTO

xinxirong 发表于 2015-5-18 17:42:02

本帖最后由 xinxirong 于 2015-5-19 17:21 编辑

找到问题所在了,但不知道怎么解决:
用acDocManager->openDocument();打开文档后,必须切换一下文档才能继续,否则部分命令变成无效,比如options,menuload,还有自定义的命令
如果把所有文档文掉后再开就可以正常,但我又发现是原来系统的open命令,不是我的open命令

xinxirong 发表于 2015-6-4 15:50:57

原来是这样的,如果用命令行open来打开,因为命令行是是当前文档执行的,调用完acDocManager->openDocument()之后还是留在当前文档空间。
所以如果用工具栏直接打开,而不是命令行打开就没有这个问题了。
但我不明白系统的open命令是怎样避免这种问题的?
页: [1]
查看完整版本: acDocManager->openDocument()显示为另存为?