本文整理汇总了C++中AcDbObject::addPersistentReactor方法的典型用法代码示例。如果您正苦于以下问题:C++ AcDbObject::addPersistentReactor方法的具体用法?C++ AcDbObject::addPersistentReactor怎么用?C++ AcDbObject::addPersistentReactor使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AcDbObject
的用法示例。
在下文中一共展示了AcDbObject::addPersistentReactor方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: acdbOpenAcDbObject
void
ArxDbgUiTdcPersistentReactors::attachObjReactors(const AcDbObjectIdArray& objIds)
{
Acad::ErrorStatus es;
AcDbObject* obj;
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 = acdbOpenAcDbObject(obj, objIds[i], AcDb::kForWrite, true);
if (es == Acad::eOk) {
prId = getPersistentObjReactor(objIds[i].database(), true);
if (ArxDbgUiTdmReactors::hasPersistentReactor(obj, prId)) {
ArxDbgUtils::alertBox(_T("That object already has the reactor attached."));
}
else {
obj->addPersistentReactor(prId);
es = acdbOpenObject(peReactor, prId, AcDb::kForWrite);
if (es == Acad::eOk) {
peReactor->attachTo(obj->objectId());
peReactor->close();
}
else {
CString str;
str.Format(_T("ERROR: Could not update backward reference in reactor: (%s)"), ArxDbgUtils::rxErrorStr(es));
ArxDbgUtils::stopAlertBox(str);
}
}
obj->close();
}
else {
ArxDbgUtils::rxErrorMsg(es);
}
}
else {
ArxDbgUtils::rxErrorAlert(es);
}
}
}