Bonjour,
J’ai un problème agaçant de processus avec le logiciel que je développe.
Mon logiciel, en gros, gère des animations image par image. Lorsque je charge un projet (dans mon logiciel même et non dans Visual Studio), tout va bien, il charge les diverses informations d’un fichier .csm quelconque (un fichier de données binaires que je crée moi même) ainsi que toutes ses images png portant le même nom suivi d’un nombre de 0 jusqu’à X (ces images se situent dans un dossier portant, encore une fois, le même nom que le fichier .csm d’origine). Lors du charmement, il place ses images dans une liste de sprites (une classe qui contient le bitmap et d’autres informations). Au moment où le projet sauvegarde et que la liste des sprites a été modifiée (sprites effacés ou déplacés). Les images, sur le disque dur, se retrouveront dans le même ordre grâce aux nombres (et s'il sont réorganiser par nom bien sur). Certaines images vont être détruites ou renommées pour actualiser l’ordre des images du dossier. Il est justement là mon problème, mon logiciel ne veut pas toucher aux images que j’ai chargées précédemment… La raison est que les fichiers images sont supposément déjà utilisés par un autre processus. Par lequel? Je n’en ai aucune idée.
Normalement, lorsque j’importe une image en mémoire en instanciant un objet bitmap il ferme son flux. Non? Aussi, si une image était vraiment utilisée par un autre processus, je ne serais même pas supposé être capable de la visionner via Paint ou n’importe quel autre logiciel similaire pas vrai ? Pourtant, j’y arrive.
Est-il possible de vérifier d’où vient ce processus déjà utilisé à l’instant du IOException?
Je ne sais vraiment pas d’où pourrait venir ce problème.
Partager