posto il codice:
questa è la classe in cui trovo n array m_tagsLoadData
codice:
class CSapLoadType 
{
	
public:
	CSapLoadType();
	virtual ~CSapLoadType();
	tagLoadData* getByID(int ID);
	void SetTagsLoadData(CTypedPtrArray<CPtrArray, tagLoadData*> &src);
	void RemoveTagLoadData(int iPos);
	void Sort();
	int Count();
private:
	CTypedPtrArray<CPtrArray, tagLoadData*> m_TagsLoadData;};

IMPL:
CSapLoadType::CSapLoadType()
{
}

CSapLoadType::~CSapLoadType()
{
	for(int i = 0; i < m_TagsLoadData.GetSize(); i++)
		delete m_TagsLoadData[i];
	m_TagsLoadData.RemoveAll();
	CTypedPtrArray<CPtrArray, tagLoadData*> m_TagsLoadData;
}

tagLoadData* CSapLoadType::getByID(int ID)
{
	if(m_TagsLoadData.GetCount() <= ID)
		return NULL;
	tagLoadData* LoadData = m_TagsLoadData[ID];
	return LoadData;
}

void CSapLoadType::RemoveTagLoadData(int iPos)
{
	m_TagsLoadData.RemoveAt(iPos);
}

void CSapLoadType::SetTagsLoadData(CTypedPtrArray<CPtrArray, tagLoadData*> &src)
{
	m_TagsLoadData.Append(src);
}

int CSapLoadType::Count()
{
	return m_TagsLoadData.GetCount();
}
se carico l'array cosi':
codice:
pType->SetTagsLoadData(*pLoadDataArray);
dove pLoadDataArray è un array tutto funziona e fuori dalla funzione mi ritrovo l'array caricato.
MEntre se faccio cosi':
codice:
pType = pCase->getByID(*nBLType);
dove getbyID ritorna una classe CSapLoadType con array caricato correttamente; fuori dalla funzione il contenuto dell'array sparisce!
come mai?
grazie.