il codice è molto esteso te ne posto una parte,
la funzione è dichiarata cosi:codice:bool CBaseDatabaseSapData::ImportBeamLoads(int* nBLType, int* nBeamID, int* pLCaseNum, CTypedPtrArray<CPtrArray, tagLoadData*> * pLoadDataArray,CString strCase,CSapLoadType *pType) if(!m_pDM) return false; CSapBeam * pBeam = m_pDM->getByID(atoi(m_strNameCurrentBeam)); if(pBeam == NULL) return false; CSapLoadCase *pCase = pBeam->getByID(strCase); if(pCase==NULL) return false; pType = pCase->getByID(*nBLType); if(pType==NULL) return false; //count di array interno(privato) di ptype >0 return true;
e la funzione chiamate è questa:codice:bool ImportBeamLoads(int* nBLType, int* nBeamID, int* pLCaseNum, CTypedPtrArray<CPtrArray, tagLoadData*> * pLoadDataArray,CString strCase, CSapLoadType *pType);
codice:CSapLoadType * pType = new CSapLoadType(); pLoadDataArray->RemoveAll(); if(*pLCaseNum < 0) *pLCaseNum = 0; tagStaticLCDataTempLogic ACData; m_AnalysisCaseNum.Lookup(*pLCaseNum +1 , ACData); m_pData->ImportBeamLoads(&nBLType,&nBeamID, pLCaseNum, pLoadDataArray,ACData.strCase,pType)); //count di array interno (privato)di pType è a 0!!!!!

Rispondi quotando