bool DataObjectListHelper::AddObject( const CString& name, const CString& value ) { if( name.GetLength() == 0 || value.GetLength() == 0 ) return false; ArxDictTool* pDictTool = ArxDictTool::GetDictTool( OBJECT_LIST_DICT ); bool ret = ( INVALID_ENTRY != pDictTool->addEntry( name, value ) ); if( ret ) { ArxDictTool2* pDictTool2 = ArxDictTool2::GetDictTool( OBJECT_LIST_DATA_DICT ); CString key; key.Format( _T( "%s_%s" ), name, value ); DataObject* pDO = new DataObject(); pDO->setType( name ); pDO->initData(); // 初始化数据 ret = pDictTool2->addEntry( key, pDO ); if( !ret ) // 添加Object失败 { delete pDO; pDictTool->removeEntry( name, value ); } delete pDictTool2; } delete pDictTool; return ret; }
bool GDESDataObjectHelper::AddObject( const CString& name ) { if( name.GetLength() == 0 ) return false; ArxDictTool2* pDictTool2 = ArxDictTool2::GetDictTool( REPORTER_INFO_DICT ); DataObject* pDO = new DataObject(); pDO->initData(); // 初始化数据 bool ret = pDictTool2->addEntry( name, pDO ); if( !ret ) delete pDO; // 添加Object失败 delete pDictTool2; return ret; }