Shogo6
Messages postés36Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention17 juillet 2007
-
1 oct. 2005 à 13:57
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014
-
1 oct. 2005 à 15:20
Bonjour je suis au bord de la crise de neeeeerfs!!!!
Voila je fais une visionneuse d'image donc on selectionne l'image desirée ds une listbox et elle s'affiche dans la picturebox. Jusque la aucun pb. Mais apres mon logiciel doit proposer une fonction de renommage de fichiers par lot et c la que ca bloque : j'ai une erreur du type "le processus ne peut acceder au fichier car il est deja en cours dutilisation par un autre processus". J'ai pourtant bien utiliser des dispose() sur tt les composant utilisant la bitmap....Si qqun px maider paske la.......je v repasser au VB si ca continu!!!!
Ensuite dans ce code là la partie en rouge est inutile, voir dangereuse :
for (int i=0;i<nbrfichiers;i++)
{
picturebox.Image.Dispose();
picturebox.Image=null;
imgbmp.Dispose();
picturebox.Image et imgbmp font référence à la même instance.
Shogo6
Messages postés36Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention17 juillet 2007 1 oct. 2005 à 14:12
Sur l'image elle meme j'ai aussi fait un dispose() mais snif ca ne marche pas enfin ca marche pour une seule c a d kil me renomme un fichier m plante au suivant....Au secours!!!
PiLoU
Vous n’avez pas trouvé la réponse que vous recherchez ?
Voila et ca plante au niveau du renommage en me disant que le fichier est deja occupe par un autre processus et lorske je met en commentaire laffichage ds la picturebox tt se passe bien!!!!
PiLoU
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 1 oct. 2005 à 15:04
Joli le message ;-)
Donc c'est bien ce que je pensais.
Pour la petite explication : à chaque changement tu créais une nouvelle instance de la classe Image sans détruire l'ancienne.
Et si ta machine n'avais pas expressement besoin de mémoire le GC ne libérais pas ça automatiquement avant que tu tentes le move.
D'où l'accès refusé comme le handle de fichier était toujours ouvert.
Shogo6
Messages postés36Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention17 juillet 2007 1 oct. 2005 à 15:15
Arf ca na pas marché ct environ 20 lignes de remerciements lol mais grace a toi et ton explication g compris ce que jaurais du comprendre tt seul dailleurs lol en tt k merci et juste une derniere question : g une texbox ds lakelle lutilisateur saisi un nbr de depart pour mon compteur mais aparement le code ne convertit pa le contenu de la textbox en int g essayer (int)textbox.text m rien a faire....Je c c con mais avec VB jamais eu ce pb!!!