|
请教各位,我创建一个新字典(ASDK_DICT),将它添加到命名对象字典中,创建了一个类abc的对象,使用setAt函数将其添加到字典中。但在setAt函数中出现异常,代码如下:
AcDbDictionary *pNamedObj;
AcDbDictionary *pNameList;
acdbHostApplicationServices()->workingDatabase()
->getNamedObjectsDictionary(pNamedObj,AcDb::kForWrite);
if (pNamedObj->getAt("ASDK_DICT",
(AcDbObject*&)pNameList, AcDb::kForWrite)
== Acad::eKeyNotFound)
{
pNameList = new AcDbDictionary;
AcDbObjectId DictId;
pNamedObj->setAt("ASDK_DICT", pNameList, DictId);
}
pNamedObj->close();
abc *p1=new abc(1);
AcDbObjectId objId;
if ((pNameList->getAt("dict1", objId))
== Acad::eKeyNotFound)
{
pNameList->setAt("dict1", p1, objId); //出现异常
p1->close();
} else {
delete p1;
ads_printf("dict1 already exists\n");
}
acutPrintf("创建字典成功!\n");
请教各位这是什么原因呢?应该怎样改呢?谢谢! |
|