bool CGoodsBaseProperties::tagAddonPropertyValue::Unserialize(DBReadSet& setReadDB, bool b ) { Clear(); dwId = setReadDB.GetDwordFromByteArray( ); lBaseValue = setReadDB.GetLongFromByteArray( ); return true; }
bool CGoods::tagAddonProperty::Unserialize(DBReadSet& setReadDB, bool b) { gapType = static_cast<eGoodsAddonProperties>( setReadDB.GetDwordFromByteArray() ); lValues[0]=setReadDB.GetLongFromByteArray(); lValues[1]=setReadDB.GetLongFromByteArray(); return true; }
BOOL CRoleRecord::DecodeFromDataBlock(DBReadSet& setReadDB) { m_lRoleID=setReadDB.GetLongFromByteArray(); m_cRoleStep=setReadDB.GetByteFromByteArray(); m_cAimNum= setReadDB.GetByteFromByteArray(); setReadDB.GetBufferFromByteArray(m_Param,sizeof(sRoleParam)*m_cAimNum); return TRUE; }
//! ±àÂë void MedalContainer::DecodeFromDataBlock(DBReadSet& setReadDB) { m_setHold.clear(); LONG lNum = setReadDB.GetLongFromByteArray( ); for (LONG i = 0; i < lNum; ++i) { m_setHold.insert(setReadDB.GetLongFromByteArray( )); } }
bool CBaseObject::DecordFromDataBlock(DBReadSet& db_r,bool bEx /* = true */) { m_bIsHide = (db_r.GetByteFromByteArray() != 0); m_lType = db_r.GetLongFromByteArray(); db_r.GetBufferFromByteArray(m_guExID); /*m_lGraphicsID = */db_r.GetLongFromByteArray(); db_r.GetStringFromByteArray(m_strName,256); return true; }
// 解码 bool CGate::DecodeFromDataBlock(DBReadSet& setReadDB,bool bExData ) { CBuild::DecodeFromDataBlock(setReadDB, bExData); char strVal[256]; setReadDB.GetStringFromByteArray( strVal,256); m_strOpenSound=strVal; setReadDB.GetStringFromByteArray( strVal,256); m_strCloseSound=strVal; return true; }
/// ´ÓÏûÏ¢½âÂëÅäÖà void CConfiger::DecodeFromDataBlock(DBReadSet &db ) { m_RightScripts.clear(); m_WrongScripts.clear(); db.GetBufferFromByteArray(&m_sys,sizeof(m_sys)); string RightScriptFile; /// ¶ÁÈ¡½±Àø´ëÊ© long RightNum = db.GetLongFromByteArray(); for (long l=0 ; l<RightNum ; l++) { int RightScriptKey = db.GetLongFromByteArray(); CHAR strTemp[256]; ScriptCfg sc; sc.file = db.GetStringFromByteArray(strTemp,256); sc.limit = db.GetByteFromByteArray(); m_RightScripts[RightScriptKey] = sc; } /// ¶ÁÈ¡³Í·£´ëÊ© long WorongNum = db.GetLongFromByteArray(); for (long l=0 ; l<WorongNum ; l++) { int WrongScriptKey = db.GetLongFromByteArray(); CHAR strTemp[256]; ScriptCfg sc; sc.file = db.GetStringFromByteArray(strTemp,256); sc.limit = db.GetByteFromByteArray(); m_WrongScripts[WrongScriptKey] = sc; } // ½âÂëÃô¸Ð´ÊÁбí DecodeSensWords( db ); }
// ½±ÀøÐÅÏ¢½âÂë void tagBounsInfo::DecodeFromDataBlock(DBReadSet& setReadDB) { char strTemp[256]; setReadDB.GetBufferFromByteArray(guid); strAccount = setReadDB.GetStringFromByteArray(strTemp, 256); bStatus = setReadDB.GetByteFromByteArray(); dwBounsID = setReadDB.GetDwordFromByteArray(); // tValidTime = setReadDB.GetLongFromByteArray(); setReadDB.GetBufferFromByteArray((void*)&tValidTime, sizeof(time_t)); }
//! 从数据集解码 BOOL CGameInfo::DeCode(DBReadSet &setReadDB) { m_dwType = setReadDB.GetDwordFromByteArray(); LONG lSize = setReadDB.GetLongFromByteArray(); for (LONG i = 0; i < lSize; ++i) { tagGameInfoData GameInfoData; setReadDB.GetBufferFromByteArray(&GameInfoData, sizeof(tagGameInfoData)); } return TRUE; }
void CMedalMgr::DecodeFromDataBlock(DBReadSet& dbRead) { m_vecMedal.clear(); long lNum = dbRead.GetLongFromByteArray(); for(int i=0;i<lNum;i++) { DWORD dwMedalIndex = dbRead.GetLongFromByteArray(); m_vecMedal.push_back(dwMedalIndex); } }
bool CMultiHpBar::DecodeFromDataBlock(DBReadSet& setReadDB) { m_BaseMaxHp= setReadDB.GetLongFromByteArray(); m_listHpBar.clear(); long size=setReadDB.GetLongFromByteArray(); for (int i=0; i<size; i++) { HpBar bar; bar.HpRange=setReadDB.GetLongFromByteArray(); m_listHpBar.push_back(bar); } return true; }
bool CMercenaryQuestSys::DecodeFromDataBlock(DBReadSet& setReadDB) { m_MerQuests.clear(); DisbandQuests.clear(); m_lCurQuestID = setReadDB.GetLongFromByteArray(); WORD wSize = setReadDB.GetWordFromByteArray(); tagMerQuest MerQuest; for(WORD i=0;i<wSize;i++) { long lID = setReadDB.GetLongFromByteArray(); long time= setReadDB.GetDwordFromByteArray(); long lSize = setReadDB.GetWordFromByteArray(); MerQuest.Quests.clear(); MerQuest.dwLastUpdateTime=time; for(WORD j=0;j<lSize;j++) { long lID = setReadDB.GetLongFromByteArray(); MerQuest.Quests.push_back(lID); } m_MerQuests[lID] = MerQuest; } wSize=setReadDB.GetWordFromByteArray(); for ( WORD i=0;i<wSize;i++ ) { long lId = setReadDB.GetLongFromByteArray(); DisbandQuests.insert(lId); } return true; }
BOOL CGoodsBaseProperties::tagSuitProperty::Unserialize(DBReadSet& setReadDB, BOOL b ) { Clear(); gapType = static_cast<GOODS_ADDON_PROPERTIES>( setReadDB.GetDwordFromByteArray() ); bActived=FALSE; DWORD dwNumAddonPropertyValues = setReadDB.GetDwordFromByteArray( ); for( size_t i = 0; i < dwNumAddonPropertyValues; i ++ ) { tagAddonPropertyValue apvAddonPropertyValue; apvAddonPropertyValue.Unserialize( setReadDB); vValues.push_back( apvAddonPropertyValue ); } return TRUE; }
bool CGoodsBaseProperties::tagSuitProperty::Unserialize(DBReadSet& setReadDB, bool b ) { Clear(); gapType = static_cast<eGoodsAddonProperties>( setReadDB.GetDwordFromByteArray() ); bActived = false; ulong dwNumAddonPropertyValues = setReadDB.GetDwordFromByteArray(); for(size_t i = 0; i < dwNumAddonPropertyValues; i++) { tagAddonPropertyValue apvAddonPropertyValue; apvAddonPropertyValue.Unserialize(setReadDB); vValues.push_back(apvAddonPropertyValue); } return true; }
void CConfiger::DecodeSensWords( DBReadSet &db ) { m_SensWords.clear(); long size = db.GetLongFromByteArray(); char Word[512]; for( long i = 0; i < size; ++ i ) { db.GetStringFromByteArray( Word, sizeof( Word ) ); if( std::find( m_SensWords.begin(), m_SensWords.end(), Word ) == m_SensWords.end() ) { m_SensWords.push_back( Word ); } } }
void CQuestionManager::UpdateQuestions( DBReadSet &db ) { ClearQuestions(); long lCount = db.GetLongFromByteArray(); m_Questions.reserve( lCount ); for( long i = 0; i < lCount; ++ i ) { Question ques; ques.answer = db.GetByteFromByteArray(); ques.data.size = (size_t) db.GetLongFromByteArray(); ques.data.buf = M_ALLOC( sizeof(char)*(ques.data.size) ); db.GetBufferFromByteArray( ques.data.buf, ques.data.size ); m_Questions.push_back( ques ); } }
//解码 void CAutoFightData::DecodeFromDataBlock(DBReadSet& setReadDB) { //由于不需要保存稳定挂机和普通挂机的状态,不需要从GS得到,需要是启用 //setReadDB.GetBufferFromByteArray(m_AutoFightSetup, DATA_SIZE); //从GS解码稳定时间 SetStableTime(setReadDB.GetDwordFromByteArray()); }
void CPackage::DecodeFromGS( CPlayer *pPlayer, DBReadSet &db ) { BYTE flag = db.GetByteFromByteArray(); if( flag == 1 ) { if( m_pGoods != NULL ) { CGoodsFactory::GarbageCollect( &m_pGoods ); } m_pGoods = CGoodsFactory::UnserializeGoods( db,35 ); m_pContainer->Release(); m_pContainer->SetContainerVolume( m_pGoods ); m_pContainer->Unserialize( db ); Log4c::Trace(ROOT_MODULE,FMT_STR( "Decode package for player [%s] ok", pPlayer->GetName() ) ); } else { if( m_pGoods != NULL ) { CGoodsFactory::GarbageCollect( &m_pGoods ); } m_pContainer->Release(); } }
BOOL CGoodsBaseProperties::tagAddonProperty::Unserialize(DBReadSet& setReadDB, BOOL b) { // TODO: Add your specialized code here. Clear(); gapType = static_cast<GOODS_ADDON_PROPERTIES>( setReadDB.GetDwordFromByteArray() ); bIsEnabled = setReadDB.GetLongFromByteArray(); bIsImplicitAttribute = setReadDB.GetLongFromByteArray(); DWORD dwNumAddonPropertyValues = setReadDB.GetDwordFromByteArray( ); for( size_t i = 0; i < dwNumAddonPropertyValues; i ++ ) { tagAddonPropertyValue apvAddonPropertyValue; apvAddonPropertyValue.Unserialize(setReadDB); vValues.push_back( apvAddonPropertyValue ); } return TRUE; }
bool CBuild::DecodeFromDataBlock(DBReadSet& setReadDB,bool bExData) { CMoveShape::DecodeFromDataBlock(setReadDB, bExData); setReadDB.GetBufferFromByteArray( &m_Property, (long)sizeof(m_Property)); char strVal[256]; setReadDB.GetStringFromByteArray( strVal,256); strHitSound=strVal; setReadDB.GetStringFromByteArray( strVal,256); strDestorySound=strVal; setReadDB.GetStringFromByteArray( strVal,256);//开门音效 strOpenSound = strVal; setReadDB.GetStringFromByteArray( strVal,256);//关门音效 strCloseSound = strVal; return true; }
BOOL CRoleQueue::DecodeFromDataBlock(DBReadSet& setReadDB) { Clean(); m_lChapter=setReadDB.GetLongFromByteArray(); LONG rolenum= setReadDB.GetLongFromByteArray(); for (int a=0 ; a<rolenum; a++) { CRoleRecord* record=new CRoleRecord; record->DecodeFromDataBlock(setReadDB); if (!AddOneRecord(record)) { delete record; } } LONG lExcRecordNun= setReadDB.GetLongFromByteArray(); for (int a=0; a< lExcRecordNun; a++) { sExcessRecord record; WORD index= setReadDB.GetShortFromByteArray(); setReadDB.GetBufferFromByteArray(&record,sizeof(sExcessRecord)); m_mapExcessRecord[index]= record; } LONG rolerecordnum=setReadDB.GetLongFromByteArray(); for (int a=0; a<rolerecordnum; a++) { LONG _long=setReadDB.GetLongFromByteArray(); m_setRoleRecord.insert(_long); } DeleteExcessRecord(); return TRUE; }
BOOL CJiFen::Unserialize( DBReadSet& setReadDB, BOOL b ) { CJiFen::Clear(); BYTE bGoodsAmount = setReadDB.GetByteFromByteArray( ); if( bGoodsAmount > 0 ) { m_pGoldCoins = CGoodsFactory::UnserializeGoods( setReadDB); } return TRUE; }
BOOL CSilverWallet::Unserialize( DBReadSet& setReadDB, BOOL b ) { CSilverWallet::Clear(); BYTE bGoodsAmount = setReadDB.GetByteFromByteArray( ); if( bGoodsAmount > 0 ) { m_pSilverCoins = CGoodsFactory::UnserializeGoods( setReadDB,15 ); } return TRUE; }
BOOL CJiFen::Unserialize( DBReadSet& setReadDB, BOOL b ) { Release(); BYTE bGoodsAmount = setReadDB.GetByteFromByteArray( ); if( bGoodsAmount > 0 ) { #ifdef __MEMORY_LEAK_CHECK__ CBaseObject::SetConstructFlag(75); #endif m_pGoldCoins = CGoodsFactory::UnserializeGoods( setReadDB); } return TRUE; }
void PhaseSetup::PhaseConfigDecode(DBReadSet& dbRead) { dbRead.GetBufferFromByteArray(&m_config ,sizeof(Config) ); long size= dbRead.GetLongFromByteArray(); PhaseTable tpTemp; for ( long i = 0 ; i < size ; i ++ ) { long type = dbRead.GetLongFromByteArray(); long count= dbRead.GetLongFromByteArray(); tpTemp.clear(); for ( int j = 0 ; j < count ; j++ ) { long id = dbRead.GetLongFromByteArray(); char file[512]; dbRead.GetStringFromByteArray( file , 512 ); tpTemp.insert( std::pair<long,std::string>( id, file) ) ; } m_PhaseTable.insert( std::pair<long,PhaseTable>( type , tpTemp) ); } }
// 解码 bool CShape::DecodeFromDataBlock(DBReadSet& setReadDB,bool bExData ) { CBaseObject::DecodeFromDataBlock(setReadDB,bExData); m_CurRgnType = (eRgnType)setReadDB.GetByteFromByteArray(); m_lRegionID = setReadDB.GetLongFromByteArray(); setReadDB.GetBufferFromByteArray(m_RegionID); m_fPosX = setReadDB.GetFloatFromByteArray(); m_fPosY = setReadDB.GetFloatFromByteArray(); m_lDir = setReadDB.GetLongFromByteArray(); m_lPos = setReadDB.GetLongFromByteArray(); m_lPos = 0; m_fSpeed = setReadDB.GetFloatFromByteArray(); m_wState = setReadDB.GetWordFromByteArray(); m_wAction = setReadDB.GetWordFromByteArray(); SetSpeed(m_fSpeed); return true; }
void SkillAttribute::ConfigDecode(DBReadSet& dbRead) { m_MapTable.clear(); long SkillNum = dbRead.GetLongFromByteArray(); for ( int i = 0 ; i < SkillNum ; i++ ) { long Skillid = dbRead.GetLongFromByteArray(); long LevelNum= dbRead.GetLongFromByteArray(); for ( int j = 0 ; j < LevelNum ; j++ ) { long lvl = dbRead.GetLongFromByteArray(); tagSkillAttr tmpSkillAttr; dbRead.GetBufferFromByteArray(&tmpSkillAttr,sizeof(tagSkillAttr) ); m_SkillAttriTable[ Skillid ][ lvl ] = tmpSkillAttr; std::map<string,short> mp; tmpSkillAttr.AddMapTable( mp ); m_MapTable[ Skillid ][ lvl ] = mp; } } }
// ½±ÀøÃèÊö½âÂë void tagBounsDes::DecodeFromDataBlock(DBReadSet& setReadDB) { char strTemp[256]; dwBounsID = setReadDB.GetDwordFromByteArray(); strTitle = setReadDB.GetStringFromByteArray(strTemp, 256); strDes = setReadDB.GetStringFromByteArray(strTemp, 256); bType = setReadDB.GetByteFromByteArray(); strName = setReadDB.GetStringFromByteArray(strTemp, 256); dwValue = setReadDB.GetDwordFromByteArray(); }
//! 解码 void COrganizingParam::DecodeFromMsgSet(DBReadSet &DbReadSet) { m_LoadSucceed = FALSE; //! 工会全局配置 DbReadSet.GetBufferFromByteArray(&m_tagGlobeSetup, sizeof(tagGlobeSetup)); //! 帮会相关的等级参数配置 m_vFacLevelSetup.clear(); LONG lLevelSize = DbReadSet.GetLongFromByteArray(); for (LONG i = 0; i < lLevelSize; ++i) { tagFacLevelSetup FacLevelSetup; FacLevelSetup.lLevel = DbReadSet.GetLongFromByteArray(); FacLevelSetup.lMaxMemNum = DbReadSet.GetLongFromByteArray(); FacLevelSetup.lDisbandMemNum = DbReadSet.GetLongFromByteArray(); LONG lConditionSize = DbReadSet.GetLongFromByteArray(); for (LONG j = 0; j < lConditionSize; ++j) { tagUpgradeCondition UpgradeCondition; DbReadSet.GetBufferFromByteArray(&UpgradeCondition, sizeof(tagUpgradeCondition)); FacLevelSetup.vCondition.push_back(UpgradeCondition); } m_vFacLevelSetup.push_back(FacLevelSetup); } //! 联盟创建条件 m_vUnionUpgradeCondition.clear(); LONG lConditionSize = DbReadSet.GetLongFromByteArray(); for (LONG j = 0; j < lConditionSize; ++j) { tagUpgradeCondition UpgradeCondition; DbReadSet.GetBufferFromByteArray(&UpgradeCondition, sizeof(tagUpgradeCondition)); m_vUnionUpgradeCondition.push_back(UpgradeCondition); } //! 工会功能开放的等级配置 DbReadSet.GetBufferFromByteArray(&m_FunctionWithLevel, sizeof(LONG) * MAXNUM_FactionPurview); //! 帮会经验奖励等级的配置 m_vFacExpLevelSetup.clear(); lLevelSize = DbReadSet.GetLongFromByteArray(); for (LONG i = 0; i < lLevelSize; ++i) { tagFacExpLevelSetup FacExpLevelSetup; FacExpLevelSetup.lLevel = DbReadSet.GetLongFromByteArray(); FacExpLevelSetup.fBaseExp = DbReadSet.GetFloatFromByteArray(); LONG lConditionSize = DbReadSet.GetLongFromByteArray(); for (LONG j = 0; j < lConditionSize; ++j) { tagUpgradeCondition UpgradeCondition; DbReadSet.GetBufferFromByteArray(&UpgradeCondition, sizeof(tagUpgradeCondition)); FacExpLevelSetup.vCondition.push_back(UpgradeCondition); } m_vFacExpLevelSetup.push_back(FacExpLevelSetup); } //! 帮会专业等级的配置 m_vFacDepotLevelSetup.clear(); lLevelSize = DbReadSet.GetLongFromByteArray(); for (LONG i = 0; i < lLevelSize; ++i) { tagFacDepotLevelSetup FacDepotLevelSetup; FacDepotLevelSetup.lLevel = DbReadSet.GetLongFromByteArray(); FacDepotLevelSetup.lCellNum = DbReadSet.GetLongFromByteArray(); LONG lConditionSize = DbReadSet.GetLongFromByteArray(); for (LONG j = 0; j < lConditionSize; ++j) { tagUpgradeCondition UpgradeCondition; DbReadSet.GetBufferFromByteArray(&UpgradeCondition, sizeof(tagUpgradeCondition)); FacDepotLevelSetup.vCondition.push_back(UpgradeCondition); } m_vFacDepotLevelSetup.push_back(FacDepotLevelSetup); } //! 商业等级配置 m_MetallurgyLevelSetup.clear(); lLevelSize = DbReadSet.GetLongFromByteArray(); for (LONG i = 0; i < lLevelSize; ++i) { tagFacSubLevelSetup FacSubLevelSetup; FacSubLevelSetup.lLevel = DbReadSet.GetLongFromByteArray(); LONG lConditionSize = DbReadSet.GetLongFromByteArray(); for (LONG j = 0; j < lConditionSize; ++j) { tagUpgradeCondition UpgradeCondition; DbReadSet.GetBufferFromByteArray(&UpgradeCondition, sizeof(tagUpgradeCondition)); FacSubLevelSetup.vCondition.push_back(UpgradeCondition); } m_MetallurgyLevelSetup.push_back(FacSubLevelSetup); } //! 战争等级配置 m_SmithingLevelSetup.clear(); lLevelSize = DbReadSet.GetLongFromByteArray(); for (LONG i = 0; i < lLevelSize; ++i) { tagFacSubLevelSetup FacSubLevelSetup; FacSubLevelSetup.lLevel = DbReadSet.GetLongFromByteArray(); LONG lConditionSize = DbReadSet.GetLongFromByteArray(); for (LONG j = 0; j < lConditionSize; ++j) { tagUpgradeCondition UpgradeCondition; DbReadSet.GetBufferFromByteArray(&UpgradeCondition, sizeof(tagUpgradeCondition)); FacSubLevelSetup.vCondition.push_back(UpgradeCondition); } m_SmithingLevelSetup.push_back(FacSubLevelSetup); } //! 贵族等级配置 m_SewingLevelSetup.clear(); lLevelSize = DbReadSet.GetLongFromByteArray(); for (LONG i = 0; i < lLevelSize; ++i) { tagFacSubLevelSetup FacSubLevelSetup; FacSubLevelSetup.lLevel = DbReadSet.GetLongFromByteArray(); LONG lConditionSize = DbReadSet.GetLongFromByteArray(); for (LONG j = 0; j < lConditionSize; ++j) { tagUpgradeCondition UpgradeCondition; DbReadSet.GetBufferFromByteArray(&UpgradeCondition, sizeof(tagUpgradeCondition)); FacSubLevelSetup.vCondition.push_back(UpgradeCondition); } m_SewingLevelSetup.push_back(FacSubLevelSetup); } //家族日常消耗 m_BaseConsume.clear(); lLevelSize=DbReadSet.GetLongFromByteArray(); for (LONG i=0;i<lLevelSize;i++) { tagBaseConsume tgBase; LONG lLevel=DbReadSet.GetLongFromByteArray(); DbReadSet.GetBufferFromByteArray(&tgBase,sizeof(tagBaseConsume)); m_BaseConsume[lLevel]=tgBase; } //商业等级对应的基数 m_BussinessBase.clear(); lLevelSize=DbReadSet.GetLongFromByteArray(); for (LONG i=0;i<lLevelSize;i++) { LONG lLevel=DbReadSet.GetLongFromByteArray(); LONG lBaseVal=DbReadSet.GetLongFromByteArray(); m_BussinessBase[lLevel]=lBaseVal; } m_LoadSucceed = TRUE; }
void CMonster::DecordChangePropertyFromDataBlock(DBReadSet& readDB) { CMoveShape::DecordChangePropertyFromDataBlock(readDB); WORD lNum = readDB.GetWordFromByteArray(); WORD pro_type = 0; BYTE data_type = 0; WORD data_length = 0; long data = 0; BYTE* byte_Array = NULL; WORD* word_Array = NULL; DWORD* dword_Array = NULL; float* flaot_Array = NULL; long* long_Array = NULL; short* short_Array = NULL; char* char_Array = NULL; bool* bool_Array = NULL; for (int i = 0;i<lNum;i++) { pro_type = readDB.GetWordFromByteArray(); data_type = readDB.GetByteFromByteArray(); data_length = readDB.GetWordFromByteArray(); if (data_length<=0) continue; //根据数据类型获取具体的数据值 switch(data_type) { case ATTR_DATA_BYTE: data = readDB.GetByteFromByteArray(); break; case ATTR_DATA_WORD: data = readDB.GetWordFromByteArray(); break; case ATTR_DATA_DWORD: data = readDB.GetDwordFromByteArray(); break; case ATTR_DATA_FLOAT: data = readDB.GetFloatFromByteArray(); break; case ATTR_DATA_LONG: data = readDB.GetLongFromByteArray(); break; case ATTR_DATA_SHORT: data = readDB.GetShortFromByteArray(); break; case ATTR_DATA_BOOL: data = readDB.GetByteFromByteArray(); break; case ATTR_DATA_BYTEARRAY: byte_Array = new BYTE[data_length]; if (!byte_Array) return; for (int i = 0;i<data_length;i++) { byte_Array[i] = readDB.GetByteFromByteArray(); } break; case ATTR_DATA_WORDARRAY: word_Array = new WORD[data_length]; if (!word_Array) return; for (int i = 0;i<data_length;i++) { word_Array[i] = readDB.GetWordFromByteArray(); } break; case ATTR_DATA_DWORDARRAY: dword_Array = new DWORD[data_length]; if (!dword_Array) return; for (int i = 0;i<data_length;i++) { dword_Array[i] = readDB.GetDwordFromByteArray(); } break; case ATTR_DATA_FLOATARRAY: flaot_Array = new float[data_length]; if (!flaot_Array) return; for (int i = 0;i<data_length;i++) { flaot_Array[i] = readDB.GetFloatFromByteArray(); } break; case ATTR_DATA_LONGARRAY: long_Array = new long[data_length]; if (!long_Array) return; for (int i = 0;i<data_length;i++) { long_Array[i] = readDB.GetLongFromByteArray(); } break; case ATTR_DATA_SHORTARRAY: short_Array = new short[data_length]; if (!short_Array) return; for (int i = 0;i<data_length;i++) { short_Array[i] = readDB.GetShortFromByteArray(); } break; case ATTR_DATA_CHARARRAY: char_Array = new char[data_length]; if (!char_Array) return; readDB.GetStringFromByteArray( char_Array,data_length); break; case ATTR_DATA_BOOLARRAY: bool_Array = new bool[data_length]; if (!bool_Array) return; for (int i = 0;i<data_length;i++) { data = readDB.GetByteFromByteArray(); if (data!=0) { bool_Array[i] = true; }else bool_Array[i] = false; } break; default: break; } //设置相应属性值 // itProETN it = m_PropertyEnumToName.find(pro_type); // if(it != m_PropertyEnumToName.end()) // { // SetProperty( (*it).second.c_str(),data); // } SAFE_DELETE_ARRAY(byte_Array); SAFE_DELETE_ARRAY(word_Array); SAFE_DELETE_ARRAY(dword_Array); SAFE_DELETE_ARRAY(flaot_Array); SAFE_DELETE_ARRAY(long_Array); SAFE_DELETE_ARRAY(short_Array); SAFE_DELETE_ARRAY(char_Array); SAFE_DELETE_ARRAY(bool_Array); } }