本文整理汇总了C++中AcDbEntity::removePersistentReactor方法的典型用法代码示例。如果您正苦于以下问题:C++ AcDbEntity::removePersistentReactor方法的具体用法?C++ AcDbEntity::removePersistentReactor怎么用?C++ AcDbEntity::removePersistentReactor使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AcDbEntity
的用法示例。
在下文中一共展示了AcDbEntity::removePersistentReactor方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: acdbOpenAcDbEntity
void
ArxDbgUiTdcPersistentReactors::detachSelectedObjs(const AcDbObjectIdArray& objIds)
{
Acad::ErrorStatus es;
AcDbEntity* ent;
ArxDbgPersistentObjReactor* peReactor;
AcDbObjectId prId;
ArxDbgDocLockWrite docLock; // these potentially came from other documents
int len = objIds.length();
for (int i=0; i<len; i++) {
es = docLock.lock(objIds[i].database()); // lock the document associated with this database
if (es == Acad::eOk) {
es = acdbOpenAcDbEntity(ent, objIds[i], AcDb::kForWrite, true);
if (es == Acad::eOk) {
prId = getPersistentObjReactor(objIds[i].database(), true);
ent->removePersistentReactor(prId);
es = acdbOpenObject(peReactor, prId, AcDb::kForWrite);
if (es == Acad::eOk) {
peReactor->detachFrom(ent->objectId());
peReactor->close();
}
else {
CString str;
str.Format(_T("ERROR: Could not update backward reference in reactor: (%s)"), ArxDbgUtils::rxErrorStr(es));
ArxDbgUtils::stopAlertBox(str);
}
ent->close();
}
else {
ArxDbgUtils::rxErrorAlert(es);
}
}
else {
ArxDbgUtils::rxErrorAlert(es);
}
}
}