Bonsoir,
J'ai un problème un peu bizarre lors de l'utilisation de la méthode Open de la classe CFile. Je vous transmet le code :
Pas d'erreurs de compilation, lorsque j'exécute la chaine "filename" prend la valeur "c:\\standingstart.wrl". J'ai bien verifié qu'il existe un fichier avec ce nom. Un fichier texte précisément, et qu'aucun autre programme n'utilise ce fichier lors de l'exécution.
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 #include "stdafx.h" #include "ParserVrml.h" int CParserVrml::ReadFile(char *filename) { m_FileName = filename; CFile file; CFileException ex; // Opening TRACE(" opening..."); if(!file.Open(filename, CFile::modeRead | CFile::typeBinary, &ex)) { #ifdef _DEBUG afxDump << "File could not be opened " << ex.m_lOsError << "\n"; #endif TRACE("unable to open file for reading\n"); return 0; } TRACE("ok\n"); // Size file m_SizeFile = file.GetLength(); //m_SizeFile = file2->_bufsiz; TRACE(" length : %d bytes\n", m_SizeFile); ... }
Pourtant l'exception levée par "ex" est 32 qui indique qu'un autre processus a ouvert le fichier.
Le code dans un autre projet fonctionne parfaitement.
Avez vous des suggestions sur les causes possibles de cette erreur?
Merci.
Partager