qxz 发表于 2007-1-15 23:51:00

更新扩展数据后保存文件出错

<p>AcDbDatabase *pDb = new AcDbDatabase(Adesk::kFalse);<br/>&nbsp;&nbsp;es = pDb-&gt;readDwgFile(szDwgFile);<br/>&nbsp;&nbsp;if (es == Acad::eOk)<br/>&nbsp;&nbsp;{&nbsp;<br/>&nbsp;&nbsp;&nbsp;UnlockAllLayer(pDb);</p><p>&nbsp;&nbsp;&nbsp;pDb-&gt;getSymbolTable(pBlkTbl,AcDb::kForRead);<br/>&nbsp;&nbsp;&nbsp;pBlkTbl-&gt;getAt(ACDB_MODEL_SPACE,pBlkTblRcd,AcDb::kForWrite);<br/>&nbsp;&nbsp;&nbsp;pBlkTbl-&gt;close();<br/>&nbsp;&nbsp;&nbsp;pBlkTblRcd-&gt;newIterator(pBlkTblRcdItr);<br/>&nbsp;&nbsp;&nbsp;for (pBlkTblRcdItr-&gt;start();!pBlkTblRcdItr-&gt;done();pBlkTblRcdItr-&gt;step())<br/>&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;es = pBlkTblRcdItr-&gt;getEntity(pEnt,AcDb::kForWrite);<br/>&nbsp;&nbsp;&nbsp;&nbsp;if (es != Acad.ErrorStatus::eOk)&nbsp;&nbsp;continue;<br/>&nbsp;&nbsp;&nbsp;&nbsp;pRb = pEnt-&gt;xData("SOUTH");<br/>&nbsp;&nbsp;&nbsp;&nbsp;if (pRb == NULL)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;<br/>&nbsp;&nbsp;&nbsp;&nbsp;while ((rchain = pRb-&gt;rbnext))<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (rchain-&gt;restype == 1000)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strcpy(szVal,rchain-&gt;resval.rstring);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strcpy(rchain-&gt;resval.rstring, "test");<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}</p><p>&nbsp;&nbsp;&nbsp;&nbsp;es = pEnt-&gt;upgradeOpen();<br/>&nbsp;&nbsp;&nbsp;&nbsp;es = pEnt-&gt;setXData(pRb);<br/>&nbsp;&nbsp;&nbsp;&nbsp;es = pEnt-&gt;close();<br/>&nbsp;&nbsp;&nbsp;&nbsp;acutRelRb(pRb);&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;} <br/>&nbsp;&nbsp;}<br/>&nbsp;&nbsp;es = pDb-&gt;saveAs("D:\\3.DWG");//(LPTSTR)(LPCTSTR)szCurFilePath//保存出现错误</p><p>错误为:文件写入/读出出错</p>
页: [1]
查看完整版本: 更新扩展数据后保存文件出错