Расширенные данные примитива
Регистрация Расширенных Данных Примитива (EED) поддержана в ObjectDBX. Несколько незначительных различий от ObjectARX API существуют, однако. Чтобы использовать EED, приложение должно быть зарегистрировано с базой данных. В ObjectARX API, acdbRegApp () функция наиболее вероятно использовалась бы. Этот интерфейс не поддержан в ObjectDBX, так что альтернативные функции для регистрации приложения и имеющий дело resbuf цепочки описаны здесь.
Чтобы регистрировать ваше приложение, используйте функции AcDbDatabase, чтобы получить regapp таблицу, и добавлять запись:
registerApplication(AcDbDatabase* pDatabase)
{
AcDbRegAppTable *pRegAppTable;
AcDbObjectId blockId;
if (pDatabase->getRegAppTable(pRegAppTable, AcDb::kForWrite) == Acad::eOk)
{
AcDbRegAppTableRecord *pRecord = new AcDbRegAppTableRecord;
if (pRecord)
{
pRecord->setName("ACDBTEST_APP"); // For example
if (pRegAppTable->add(blockId, pRecord) == Acad::eOk)
pRecord->close();
else
delete pRecord;
}
pRegAppTable->close();
}
}
EED добавлен к AcDbEntity как
resbuf цепочка. При использовании resbuf типы, которые требуют, указатели (подобно resval.rstring), убеждаются, что разместили указатель с acdbAlloc () функция, и удалили это с acdbFree () функция ( Объявляемый в dbmain.h файле).