- ////////////////////////////////////////////////////////////////////////// 
- // Функция удаляет по ключу запись в словаре AcDbDictionary,  
- // Словарь передается как AcDbObjectId, а ключ как строка. 
- ////////////////////////////////////////////////////////////////////////// 
- static Acad::ErrorStatus DelSubkey(AcDbObjectId dictId, const ACHAR * key) 
- { 
-   Acad::ErrorStatus es = Acad::eOk; 
-   AcDbObjectId keyId; 
-   { 
-     AcDbObjectPointer<AcDbDictionary> pDict(dictId, AcDb::kForRead); 
-     if ((es = pDict.openStatus()) != Acad::eOk)  
-       return es; 
-     if ((es = pDict->getAt(key, keyId)) != Acad::eOk) 
-       return es; 
-   } 
-   if (!keyId.isNull()) 
-   { 
-     AcDbObjectPointer<AcDbObject> pObj(keyId, AcDb::kForWrite); 
-     if ((es = pObj.openStatus()) != Acad::eOk) 
-       return es; 
-     return pObj->erase(); 
-   } 
-   return es; 
- } 
- ////////////////////////////////////////////////////////////////////////// 
- // Пример использования DelSubkey 
- ////////////////////////////////////////////////////////////////////////// 
-   
- static void RivilisDelXrec () { 
-   Acad::ErrorStatus es = Acad::eOk; 
-   ads_name en; ads_point p; 
-   if (acedEntSel(ACRX_T("\nВыберите примитив: "), en, p) == RTNORM) 
-   { 
-     ACHAR buf[512]; 
-     if (acedGetString(TRUE, ACRX_T("\nУкажите ключ в ExtDict: "), buf) == RTNORM) 
-     { 
-       AcDbObjectId extDictId; 
-       AcDbObjectId id; acdbGetObjectId(id, en); 
-       { 
-         AcDbEntityPointer pEnt(id, AcDb::kForRead); 
-         if ((es = pEnt.openStatus()) != Acad::eOk) 
-         { 
-           acutPrintf(ACRX_T("\nОшибка: %s"), acadErrorStatusText(es)); 
-           return; 
-         } 
-         extDictId = pEnt->extensionDictionary(); 
-       } 
-       if (!extDictId.isNull()) 
-       { 
-         if ((es = DelSubkey(extDictId, buf)) != Acad::eOk) 
-         { 
-           acutPrintf(ACRX_T("\nОшибка: %s"), acadErrorStatusText(es)); 
-           return; 
-         } 
-       } 
-       else 
-       { 
-         acutPrintf(ACRX_T("\nУ выбранного примитива нет ExtDict!")); 
-       } 
-     } 
-   } 
- }