[Visual C++] serialize débutant

serialize débutant [Visual C++] - C++ - Programmation

Marsh Posté le 02-06-2007 à 17:27:40    

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 .

Reply

Marsh Posté le 02-06-2007 à 17:27:40   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed