Bonjour ,
je cherche à utiliser la foncton serialize pour enregistrer et charcher des données sur un programme de type bibliotèque multimédia.
Le programme compile , enregistre ( je pense ) mais lorsque que je veux charger j'ai l'erreur suivante :
Format de fichier inattendu
voici globalement les lignes de codes concernés :
//DANS LE DOC.CCP
void CtestMFCDoc::Serialize(CArchive& ar)
{
if (ar.IsLoading())
{
m_bibli.Serialize(ar);
}
else
{
m_bibli.Serialize(ar);
}
}
//DANS LA CLASSE BIBLIOTEQUE
void Biblio::Serialize(CArchive & ar)
{
CString auteur,titre,ref,page,plage,duree,bonus;
int type;
Livre *livr;
DVD *dvd;
CD *cd;
if (ar.IsLoading())
{
ar >> nbDocument;
for (int i=0;i<nbDocument;i++)
{
ar >> type;
switch (type)
{
case 1: livr=new Livre();
livr->Serialize(ar);
ajouterDocument(livr);
break;
case 2: cd=new CD();
cd->Serialize(ar);
ajouterDocument(cd);
break;
case 3: dvd=new DVD();
dvd->Serialize(ar);
ajouterDocument(dvd);
break;
}
}
}
else
{
ar << nbDocument;
for (int i=0;i<nbDocument;i++)
{
ar << B[i]->type();
B[i]->Serialize(ar);
}
}
}
//DANS LE DOCUMENT.H
virtual void Serialize(CArchive & ar)=0;
//DANS LA CLASSE LIVRE.CPP
void Livre::Serialize(CArchive & ar)
{
CString a,b,c,d;
if (ar.IsLoading())
{
ar >> a >> b >> c >> d;
setDoc(a,b,c);
setLivre(d);
}
else
{
ar << getAuteur() << getTitre() << getReference() << getNombreDepage();
}
}
Merci de votre aide .