Bonjour,

Dans mon application MFC Dialog Based, j'ouvre plusieurs fichiers pour les lire, j'utilise le CFileDialog pour sélectionner les fichiers.

Mon problème est que lorsque je sélectionne les fichiers et je fait ouvrir, la boite de dialogue reste figée sur l'écran tt en gris jusqu'à la fin de la lecture.
voici le code que j'utilise
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
filesPath.clear();
	CString OpenFilter;
	OpenFilter = "XYZ File (*.xyz)|*.xyz|";
	OpenFilter += "CSV File (*.csv)|*.csv|";
	OpenFilter += "All Files (*.*)|*.*||";
 
	CFileDialog FileOpenDialog(TRUE, NULL, NULL,
		OFN_ALLOWMULTISELECT|OFN_FILEMUSTEXIST|OFN_HIDEREADONLY|OFN_PATHMUSTEXIST,
		OpenFilter,        // filter
		AfxGetMainWnd());// the parent window
 
	CString fileName;
	const int c_cMaxFiles = 50; // 100 fichiers maximum
	const int c_cbBuffSize = (c_cMaxFiles * (MAX_PATH + 1)) + 1;
	FileOpenDialog.GetOFN().lpstrFile = fileName.GetBuffer(c_cbBuffSize);
	FileOpenDialog.GetOFN().nMaxFile = c_cbBuffSize; // attention : malgré le 
									// nom de l'attribut, il s'agit bien de la 
									// taille du buffer et non du nombre
									// max de fichier !
 
     if(FileOpenDialog.DoModal()==IDOK)
     {
        POSITION pos=FileOpenDialog.GetStartPosition();
        while(pos)
        {
			std::string path = (char *)FileOpenDialog.GetNextPathName(pos).GetString();
			filesPath.push_back(path);
        }
    }
    fileName.ReleaseBuffer();
 
	if (filesPath.size()> 0) gl.CreateObjects(filesPath);
Remarque:
j'ai développé l'application avec VS 2008 sous windows 7,
le Test sous W7 est bon mais lorsque je teste ml'application sous XP j'aurai ce problème.
Comment je peux résoudre mon problème
Merci d'avance