zhenhj 发表于 2003-1-7 13:59:00

请教各位高手,下断代码最后返回的值 es 总是 eWrongObjectType?

请教各位高手,下断代码最后返回的值 es 总是 eWrongObjectType?
    AcDbDictionary *pNamedobj;
    acdbHostApplicationServices()->workingDatabase()->
      getNamedObjectsDictionary(pNamedobj, AcDb::kForWrite);
    AcDbDictionary *pDict;
    Acad::ErrorStatus es;
    if (pNamedobj->getAt("ZLDWGPROP_DICT", (AcDbObject*&) pDict,
      AcDb::kForWrite) == Acad::eKeyNotFound)
    {
      pDict = new AcDbDictionary;
      // Create new objects to add to the new dictionary,
      // add them, then close them.
      //
      AsdkMyClass *pObj2 = new AsdkMyClass(2);
      AcDbObjectId rId1;
      es = pDict->setAt(&quotROJECTNAME", pObj2, rId1);// 增加字典条目PROJECTNAME
    }
附:(class AsdkMyClass : public AcDbObject)

CAD菜鸟 发表于 2003-1-8 16:06:00

AcDbDictionary *pNamedobj;
    acdbHostApplicationServices()->workingDatabase()->
      getNamedObjectsDictionary(pNamedobj, AcDb::kForWrite);
    AcDbDictionary *pDict;
    Acad::ErrorStatus es;
    if (pNamedobj->getAt("ZLDWGPROP_DICT", (AcDbObject*&) pDict,
      AcDb::kForWrite) == Acad::eKeyNotFound)
    {
      pDict = new AcDbDictionary;
//以下为增加部分
      AcDbObjectId DictId;
      pNamedobj->setAt("ZLDWGPROP_DICT", pDict, DictId);
                                       //没找到,就要创建并加入
    }
    pNamedobj->close();
    if (pDict) {
//结束
      // Create new objects to add to the new dictionary,
      // add them, then close them.
      //
      AsdkMyClass *pObj2 = new AsdkMyClass(2);
      AcDbObjectId rId1;
      es = pDict->setAt(&quotROJECTNAME", pObj2, rId1);// 增加字典条目PROJECTNAME
      
//以下为增加部分
      pObj2->close();
      pDict->close();
//结束
    }

zhenhj 发表于 2003-1-9 14:52:00

非常感谢,问题解决,原因AsdkMyClass 未执行初始化rxInit()出现上述错误;
页: [1]
查看完整版本: 请教各位高手,下断代码最后返回的值 es 总是 eWrongObjectType?