|
我的编程环境是c#+autodesk map 3d2005中文版。现在实现地图-》对象数据-》拆离对象数据的命令。代码可以实现这个命令,但是运行后,再要对刚才拆离对象数据的实体操作就不可以了,显示“对象已打开进行读取”,这时候只有关闭当前文档,再打开才可以进行编辑。不知道是什么原因?代码如下,请各位多指点!
MAP.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;//将索引器置空
}
|
|