请高手介绍一下非模态对话框中操作CAD图形数据库的情况,谢谢!!
我知道在非模态对话框中操作图形数据库都要锁定文档,可是我的程序第一次能够执行,第二次执行时就失败。比如我要删除一个层,程序如下:void Deletelayer(CString lyrName)
{
AcDbLayerTable *pLyrTable;
AcDbLayerTableRecord *pLyrTblRecord;
AcDbDatabase *pCurDb = NULL;
acDocManager->lockDocument( acDocManager->curDocument(), AcAp::kXWrite, NULL, NULL,true);
pCurDb = acdbHostApplicationServices()->workingDatabase();
//打开层表
pCurDb->getLayerTable(pLyrTable, AcDb::kForRead);
if(pLyrTable->has(lyrName))
{
pLyrTable->getAt(lyrName, pLyrTblRecord, AcDb::kForWrite, Adesk::kTrue);
pLyrTblRecord->erase(Adesk::kTrue);
}
pLyrTblRecord->close();
pLyrTable->close();
acDocManager->unlockDocument( acDocManager->curDocument());
}
总是只能执行一次,第二次就无法删除,不知是何原因,请高手指点,谢谢!!
页:
[1]