明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1627|回复: 5

为何不能以写的模式打开实体?

[复制链接]
发表于 2004-7-4 22:42:00 | 显示全部楼层 |阅读模式

我有一个这样的问题需要请同仁,需要帮助。

在我的程序中的某一个函数书中调用了如下函数:

acdbOpenObject(p_Entity,m_shitiId,AcDb::kForWrite,Adesk::kFalse);

但是返回的值却是eLockViolation,使得我在调用这个函数后的代码中对 p_Entity 的写操作失败。我只能将上面的函数改成如下的形式

acdbOpenObject(p_Entity,m_shitiId,AcDb::kForRead,Adesk::kFalse);

返回值虽然是eOk,但是这种形式同样不得对实体进行写操作。

我该如何做是好呢?

愿得到同仁提示和帮助。谢谢

发表于 2004-7-5 09:24:00 | 显示全部楼层
你把你的文档锁定.
发表于 2004-7-6 08:31:00 | 显示全部楼层
打开实体模式下,不要进行输入输出操作,有时候会影响
 楼主| 发表于 2004-7-7 21:21:00 | 显示全部楼层

在我的程序中的某一个函数书中调用了如下函数:

acdbOpenObject(p_Entity,m_shitiId,AcDb::kForWrite,Adesk::kFalse);

但是返回的值却是eLockViolation,使得我在调用这个函数后的代码中对 p_Entity 的写操作失败。我只能将上面的函数改成如下的形式

acdbOpenObject(p_Entity,m_shitiId,AcDb::kForRead,Adesk::kFalse);

返回值虽然是eOk,但是这种形式同样不得对实体进行写操作。

easypower讲把文档锁定,那么如何锁定文档呢?请easypower指教

发表于 2004-8-4 18:06:00 | 显示全部楼层
不能够写打开,一定是在前面已经将对象打开了没关闭,用读打开能顺利打开是因为对象在以通知或读打开后还能再以读形式打开(最多可读打开256次)。


既然你是读打开,当然只能读不能写了,这还有疑问吗?


建议检查前面打开对象的代码,使用完毕后关闭,或者不关闭而在该处升级为写打开,p_Entity->upgradeOpen();然后就可以做写操作了。
发表于 2004-8-26 09:39:00 | 显示全部楼层
锁定和打开文档的方法: acDocManager->lockDocument(curDoc(), AcAp::kWrite); // 你要执行的操作
acDocManager->unlockDocument(curDoc());
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-26 08:37 , Processed in 0.188927 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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