Il y a un truc que je je ne comprend pas avec la serialisation (c'est mon premier programme mfc). C'est peut-ietre tres simple, mais j'ai besoin d'un peu d'aide.
Voila: Je veux serialiser un membre de ma classe Document (derivee de CDocument) qui s'appelle "m_Program" (type unsigned int). Pour cela j'implemente ma fonction Serialise de la facon suivante
void CMonDocument::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{
// TODO: add storing code here
ar<< m_Program;
}
else
{
// TODO: add loading code here
ar>>m_Program;
}
}
Mon programme compile. Lorsque je le fais tourner, je m'arrange pour que m_Program prenne la valeur 101. Ensuite, je sauve mes donnees avec le bouton Save de ma fenetre principale. Je ferme mon programme, puis je l'ouvre a nouveau avec l'espoir qu'a l'ouverture má variable m_Program sera deserialisee et prendra la valeur 101 qu'elle avait avant que je ne ferme mon programme.
Je teste cette valeur en incluant dans le constructeur de mon document la commande
_cprintf("Le numero du programe est %d\n",m_Program);
La reponse que j'obtient est -842150451 !!!!??
Est-ce que ce que je fais ne suffit pas? Que dois je faire pour qu'au lancement du programme celui-ci redonne aux variables les valeurs qui ont ete sauvees auparavant?
Merci d'avance.