Bonjour,

Je dois sauvegarder des donner dans un CMemFile : Mon code:

Dans le .h : je déclare :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
private:
 	CMemFile       m_MemFile;
Pour sauvegarder le contenu du fichier:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
void CConfigurationProjetDlg::OnOk()
{
CArchive ar( &m_MemFile, CArchive::store );
m_pPS->Serialize( ar ); //m_pPS : les données que je dois sauv...
ar.Flush();
ar.Close();
m_MemFile.Seek(0,CFile::begin);
DWORD dwDataSize = (DWORD)m_MemFile.GetLength();
LPBYTE pData = new BYTE [ dwDataSize ];
m_MemFile.Read( pData, dwDataSize ); // put pData to some data storage
delete [] pData;
OnOk()
}
Pour lire le fichier :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
BOOL CConfigurationProjetDlg::OnInitDialog()
{
 ......
 ......
 if (m_MemFile.GetLength() > 0)
  {
     m_MemFile.Seek(0,CFile::begin);
     CArchive ar( &m_MemFile, CArchive::load );
     m_pPS->Serialize( ar );
  }
}
Lorsque je passe dans la fonction OnOk() : la varibale m_MemFile contient des valeurs. mais lorsque la boite de dialogue est fermé et ensuite je la réouvre de nouveau dans la fonction OnInitialDialogu() m_MemFile ne contient aucune valeur....

Est ce que je manque quelques choses dans mon code ???

Merci

Mirna