Fonction Save, erreur incompréhensible [Résolu]

Signaler
Messages postés
19
Date d'inscription
samedi 9 juin 2007
Statut
Membre
Dernière intervention
29 novembre 2009
-
Messages postés
19
Date d'inscription
samedi 9 juin 2007
Statut
Membre
Dernière intervention
29 novembre 2009
-
Bonjour,

J'ai un programme dans lequel j'utilise la fonction Save, la première fois que je l'utilise, il n'y a aucun problème, seulement dés que je la réutilise plusieurs fois, une erreur incompréhensible pour moi survient et mon programme plante :

ExternalException was unhandled, une erreur générique s'est produite dans GDI+

Quelqu'un a déjà eu cette erreur, d'où vient-elle ? Y a t-il un moyen d'avoir plus de précision sur celle-ci.

Merci d'avance pour votre aide

9 réponses

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
84
Quand un fichier est ouvert (que ce soit directement par nous ou par un des types qu'on utilise, soit dans notre cas les types Image et Bitmap) on peut utiliser différents modes d'accès concurent au fichier (voir énumération FileShare & co)
Il faut donc que tu vérifies le flux d'exécution de ton code pour voir si ce n'est pas le cas.
C'est pour moi la piste la plus plausible, mais comme l'erreur est "générique", ça pourrait tout aussi bien être un problème de droit etc

/*
coq
MVP Visual C#
CoqBlog
*/
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
84
Salut,

Save est un nom plutôt courant, ça serait bien de préciser de quel type on parle.

/*
coq
MVP Visual C#
CoqBlog
*/
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
49
Probablement Image/Bitmap?

<hr />
-Blog-
-Site Perso-
Messages postés
19
Date d'inscription
samedi 9 juin 2007
Statut
Membre
Dernière intervention
29 novembre 2009

Oui, désolé pour le manque de précision.

En fait, je fais :


Bitmap b =
new
Bitmap(img);


b.Save("C:/blabla...", System.Drawing.Imaging.
ImageFormat.Bmp);

La première fois, ça marche mais quand je le refais plusieurs fois dans mon programme, ça me met l'erreur que j'ai précisé dans mon premier message.

Merci de votre aide
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
84
Le problème avec ce genre d'erreur "générique" c'est justement que ça peut être plus ou moins n'importe quoi.
Plusieurs enregistrements sur le même fichier ?

/*
coq
MVP Visual C#
CoqBlog
*/
Messages postés
19
Date d'inscription
samedi 9 juin 2007
Statut
Membre
Dernière intervention
29 novembre 2009

Ben oui j'enregistre plusieurs fois sur le même fichier.
A chaque fois que j'appelle une fonction, ça réenregistre sur cette image.

Mais normalement ça devrait fonctionner, non ?
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
84
Pas si le fichier est ouvert en accès exclusif ou avec un partage des accès en lecture uniquement.

/*
coq
MVP Visual C#
CoqBlog
*/
Messages postés
19
Date d'inscription
samedi 9 juin 2007
Statut
Membre
Dernière intervention
29 novembre 2009

Oula c'est-à-dire ?

 Moi je ne fais rien de tout ça, je fais juste les 2 lignes que j'ai écrit un peu plus haut.

Avant de faire ma fonction Save, il aurait fallu que j'ouvre mon image Bitmap d'abord ?
Et que je spécifie des options ?

Pourrais-tu m'écrire le bout de code à rajouter dans ce cas-là ? Je ne suis pas sûr de bien te suivre ...
Messages postés
19
Date d'inscription
samedi 9 juin 2007
Statut
Membre
Dernière intervention
29 novembre 2009

Merci beaucoup, j'avais oublié de faire un Dispose sur une image sur laquelle je travaillais !!
Erreur d'étourderie...

Encore merci en tout cas !!