Grosse panique à bord... J'avais prévu d'utiliser la sérialisation fournie par les MFC pour mon appli et là il me semble que ce n'est pas possible !!! Au secour !!!
En fait, je souhaite souver au cours du temps les évolution d'un objet dans un fichier (Carchive lié à un CFile). Or cet objet est complexe (contient d'autres objets eux meme contenant...).

En gros je souhaitai faire pendant le deroulement de mon appli:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
CArchive ar(&file, CArchive::store);
monObjet.Serialize(ar) ;
// ... modifs apportées à monObjet
monObjet.Serialize(ar) ;
// ... modifs apportées à monObjet
monObjet.Serialize(ar) ;
... et ainsi de suite
Dans ma tete, ca me permettait de stocker les évolutions de "monObjet". Le probleme dont je viens de me rendre compte est qu'il semble que si un objet donné (à une adresse donnée donc) est enregistré une fois, les appels successifs à "Serialize()" ne vont pas réécrire l'objet, mais seulement faire référence à son adresse dans le fichier !!! Ainsi, lorsque je charge à nouveau mes objets de la sorte

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
CArchive ar(&file, CArchive::load);
monObjet.Serialize(ar) ;
monObjet.affiche();
monObjet.Serialize(ar) ;
monObjet.affiche();
monObjet.Serialize(ar) ;
monObjet.affiche();
et bien tous les affichages sont les meme !!! Et correspondent à l'objet initial avant toutes les modifications apportées dessus
Y'a t'il un moyen de faire un reset et de forcer la ré-écriture des données ou alors est-ce que je suis vraiment dans la m@@@@@ ?