Ben, quand on se rend compte qu'un message obtenu manque cruellement de précision (par exemple, il serait intéressant de savoir quel est ce satané fichier que l'on n'a pas réussi à ouvrir :aie: ), on essaye de le modifier pour qu'il en donne d'avantage, par exemple, en remplaçant le code
Code:
1 2 3 4 5 6
| if(! toOpen.open(QIODevice::ReadOnly)){
QMessageBox dialog(QMessageBox::Critical,"File not opened", "Unable to open selected file",
QMessageBox::Ok);
dialog.exec();
return;
} |
par quelque chose comme
Code:
1 2 3 4 5 6 7
| if(! toOpen.open(QIODevice::ReadOnly)){
QString error{"unable to open %1 file"}.arg(toOpen.fileName()); // devrait ajouter le nom du fichier impossible à ouvrir
QMessageBox dialog(QMessageBox::Critical,"File not opened", error,
QMessageBox::Ok);
dialog.exec();
return;
} |
Cela ne nous permettra pas de corriger le problème, mais cela nous permettra déjà de savoir dans quelle direction chercher ;)
En l'occurrence, j'aurais tendance à dire que le fichier en question est peut-être bien encore verrouillé par l'application qui l'a généré; windows ayant la sale habitude de poser un verrou sur tous les fichiers ouverts (pour éviter tout risque de modification "concurrente"), ce qui empêche l'ouverture d'un fichier ouvert "ailleurs", même si ce n'est que pour avoir un accès en lecture seule :aie:
Il faudra donc sans doute demander au développeur de l'application qui génère ce fichier de vieller à ... le fermer dés que l'application n'a plus besoin d'écrire dedans ;)