明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1332|回复: 1

[求助]可以拆离对象数据,但是执行命令后对象就被锁定了?

[复制链接]
发表于 2009-4-21 13:35:00 | 显示全部楼层 |阅读模式

我的编程环境是c#+autodesk map 3d2005中文版。现在实现地图-》对象数据-》拆离对象数据的命令。代码可以实现这个命令,但是运行后,再要对刚才拆离对象数据的实体操作就不可以了,显示“对象已打开进行读取”,这时候只有关闭当前文档,再打开才可以进行编辑。不知道是什么原因?代码如下,请各位多指点!
AutoCADMAP.Project p = map.Projects.Item(0);

ODRecords records = p.ODTables.GetODRecords();
  if (records.Init(selectEntity, true, false))
       //第二项一定要设为true才能删除,设为false删除不了record,即某个实体的对象数据。设为true的时候就是打开对象了,怎么关闭对象呢?
                {
                       ODRecord removeRecord = records.Record();
                       records.Remove();
                        while (records.Next())
                         {
                            removeRecord = records.Record();
                             records.Remove();
                          }
                         //文件打开后要关闭,貌似没什么作用。执行完这个命令后,再对该实体进行编辑,总是显示ewasforwrite的错误。非得把文件关闭重新打开才行。不知道程序中如何将打开的实体关闭?或者删除record还有别的方法?
                        records.Init(selectEntity, false, false);
                         records = null;//将索引器置空
                   }

 楼主| 发表于 2009-5-4 13:17:00 | 显示全部楼层
又发现了不用关闭文件,只要执行完上面的代码后,点击格式-图层,弹出窗体后再关闭就一切恢复正常了。不知道是什么原因?是没有释放对象实体selectEntity的原因吗?怎么才能真正释放?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 15:58 , Processed in 0.182352 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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