明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5823|回复: 10

DocumentManager.Open之后Editor.WriteMessage 出现 eNotApplicable错误

[复制链接]
发表于 2011-6-30 17:21:06 | 显示全部楼层 |阅读模式
本帖最后由 mummypie 于 2011-6-30 17:25 编辑

[CommandMethod&@$#$%]            public static void cmd()
{
            Document doc = Application.DocumentManager.Open("d:\\勘测.dwg",false);                 Editor ed = doc.Editor;
            Database db = doc.Database;

            ed.WriteMessage("获取地形图数据\n");
}


似乎是文档还没被完全打开,Document还没有被初始化,造成调用命令失败
有人知道处理办法吗,我需要打开后自动的处理图形中相关数据

有没有通知文档已经打开完毕的事件?

发表于 2011-6-30 19:41:45 | 显示全部楼层
你的doc不是当前文档,这时使用其ed应该不行吧?
发表于 2011-6-30 21:13:07 | 显示全部楼层
楼上说的有道理,你试试将doc设置为当前活动文档试试
 楼主| 发表于 2011-7-1 11:06:58 | 显示全部楼层
本帖最后由 mummypie 于 2011-7-1 11:12 编辑

            Document doc  = Application.DocumentManager.Open("d:\\勘测.dwg", true);
            Application.DocumentManager.MdiActiveDocument = doc ;
第二句执行不了,就像被阻断了。。vc#里面用“全部中断”发现就停在第二句上面,在cad里面改变活动文档或者关掉时就可以往下执行,但就要报错了
eNotApplicable
或者eNoDocument
发表于 2011-7-2 19:48:31 | 显示全部楼层
open后就是当前文档了,所以不需要再设置。
试试用lockdocument(是lockdocument还是documentlock忘记了,!-_-)锁定文档
发表于 2011-7-4 08:43:40 | 显示全部楼层
然后Editor ed=doc.Editor;
发表于 2011-7-10 16:35:07 | 显示全部楼层
这两天我也遇到了类似的问题,            
Document doc  = Application.DocumentManager.Open("d:\\勘测.dwg", true);
Application.DocumentManager.MdiActiveDocument = doc ;
第二句会报错,删去之后确定没错?
发表于 2011-7-12 12:37:21 | 显示全部楼层
这个问题,我也遇到了。仍未解决!
发表于 2011-7-12 16:58:13 | 显示全部楼层
有人试过下面的代码吗?
DocumentCollection acDocMgr = Application.DocumentManager;
Document acDoc = acDocMgr.Add(strTemplatePath);
acDocMgr.MdiActiveDocument = acDoc;
发表于 2011-11-28 20:54:53 | 显示全部楼层
貌似 过去超级版主 给的代码的可以解决
[CommandMethod(“OpenDwf”, CommandFlags.Session)]
加上CommandFlags.Session标记
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-2-22 02:15 , Processed in 0.187893 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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