请教一个删除实体的问题
<P>想每次画图的时候先清除当前画的所有的图(这些图已经被我事先加入到了块表记录中了),编写了如下代码:</P><P> if(acedSSGet("A",NULL,NULL,NULL,ssname)==RTNORM);<BR> {<BR> acedSSLength(ssname,&len);<BR> for(i=0;i<len;i++)<BR> {<BR> acedSSName(ssname,i,ent);<BR> acdbGetObjectId(entId,ent);<BR> acdbOpenObject(pEnt,entId,AcDb::kForWrite);<BR> pEnt->erase();<BR> }<BR> pEnt->close();<BR> acedSSFree(ssname);<BR> }</P>
<P>好象不能实现删除的功能,这是为什么呀?</P>
<P>后来尝试了一下acedSSDel()也还是不行,盼好人指点迷津!</P> 咋没人回答呢? <P>出什么问题?按理说pEnt-close()应该紧接着pEnt->erase();</P>
<P>另外,最好在遍历图形数据库的时候删除实体。</P>
<P> </P> <P>if(acedSSGet("A",NULL,NULL,NULL,ssname)==RTNORM);<BR> {<BR> acedSSLength(ssname,&len);<BR> for(i=0;i<len;i++)<BR> {<BR> acedSSName(ssname,i,ent);<BR> acdbGetObjectId(entId,ent);<BR> acdbOpenObject(pEnt,entId,AcDb::kForWrite, false);<BR> pEnt->erase();</P>
<P>pEnt->close();<BR> }<BR> <BR> acedSSFree(ssname);<BR> }</P> <P>果然是pEnt->close();放的位置不对</P>
<P>谢谢两位版主热心解答!</P> 啊?!为什么呢? wuwu,,我打开一个实体的时候,acdbOpenObject(pEnt,entId,AcDb::kForWrite, false),返回总是说已经用read模式打开,我该怎么解决阿?帮帮我吧 <P>请问如何删除指定的实体啊?</P>
<P> </P>
页:
[1]