ho il seguente codice che sto usando per cercare di serializzare una classe LPACCEL che carico in questo modo:
for (iLoop = 0; iLoop < nAccel; iLoop++) {

pACCEL = arrayACCEL.GetAt(iLoop);
lpAccel[iLoop].fVirt = pACCEL->fVirt;
lpAccel[iLoop].key = pACCEL->key;
lpAccel[iLoop].cmd = pACCEL->cmd;

delete pACCEL;
}

ma provando a serializzare / deserializzare cosi:
void CAcceleratorManager::SerializeArray(LPACCEL aAccelleratorArray)
{
CFile fileSz;
fileSz.Open("Accellerator.bin",CFile::modeCreate | CFile::modeWrite | CFile::typeBinary);
CArchive archAcc(&fileSz,CArchive:: store);
if(archAcc.IsStoring())
{
CObject:: Serialize(archAcc);
for(int i=0;i<sizeof(aAccelleratorArray);i++)
{
archAcc << &aAccelleratorArray[i].cmd;
archAcc << &aAccelleratorArray[i].fVirt;
archAcc << &aAccelleratorArray[i].key;
}
}
archAcc.Flush();
archAcc.Close();
fileSz.Close();

}
LPACCEL CAcceleratorManager::UnSerializeArray()
{
LPACCEL aAccelleratorArray;
CFile fileUnsz;
fileUnsz.Open("Accellerator.bin", CFile::modeRead| CFile::typeBinary);
CArchive archAcc(&fileUnsz,CArchive:: load);
int i=0;
if(archAcc.IsLoading())
{
CObject:: Serialize(archAcc);
archAcc>> aAccelleratorArray[i].cmd;
archAcc>> aAccelleratorArray[i].fVirt;
archAcc>> aAccelleratorArray[i].key;
i++;
}
return aAccelleratorArray;
}
mi da errore nell' unserialize.
grazie.