Fonction Save, erreur incompréhensible

Résolu
urban45 Messages postés 19 Date d'inscription samedi 9 juin 2007 Statut Membre Dernière intervention 29 novembre 2009 - 27 déc. 2008 à 17:06
urban45 Messages postés 19 Date d'inscription samedi 9 juin 2007 Statut Membre Dernière intervention 29 novembre 2009 - 3 janv. 2009 à 19:31
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

cs_coq Messages postés 6350 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
28 déc. 2008 à 18:21
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
*/
3
cs_coq Messages postés 6350 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
27 déc. 2008 à 18:37
Salut,

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

/*
coq
MVP Visual C#
CoqBlog
*/
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
27 déc. 2008 à 22:07
Probablement Image/Bitmap?

<hr />
-Blog-
-Site Perso-
0
urban45 Messages postés 19 Date d'inscription samedi 9 juin 2007 Statut Membre Dernière intervention 29 novembre 2009
28 déc. 2008 à 16:41
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_coq Messages postés 6350 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
28 déc. 2008 à 17:03
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
*/
0
urban45 Messages postés 19 Date d'inscription samedi 9 juin 2007 Statut Membre Dernière intervention 29 novembre 2009
28 déc. 2008 à 17:07
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 ?
0
cs_coq Messages postés 6350 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
28 déc. 2008 à 17:16
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
*/
0
urban45 Messages postés 19 Date d'inscription samedi 9 juin 2007 Statut Membre Dernière intervention 29 novembre 2009
28 déc. 2008 à 17:40
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 ...
0
urban45 Messages postés 19 Date d'inscription samedi 9 juin 2007 Statut Membre Dernière intervention 29 novembre 2009
3 janv. 2009 à 19:31
Merci beaucoup, j'avais oublié de faire un Dispose sur une image sur laquelle je travaillais !!
Erreur d'étourderie...

Encore merci en tout cas !!
0
Rejoignez-nous