IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

[C#]Probleme effacement de fichier


Sujet :

Windows Forms

  1. #1
    Membre éprouvé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Par défaut [C#]Probleme effacement de fichier
    Bonjour a tous.
    Alors voila, j'ai un programme avec une form.
    A partir de cette form, j'en cree une 2nd dans laquelle j'ai un picturebox qui utilise une image.
    mon probleme survient lorsque, a la fermeture de la 2nd form et apres la mise a null du picturebox, je veux supprimer le fichier image qui etait utilise par mon picturebox. seulement, il me dis que le fichier est toujours utiliser et impossible a supprimer...
    que dois-je faire pour eviter ce message d'erreur et donc, pour que mon image ne soit plus utilise...????
    d'avance pour vos reponses
    doudouallemand

  2. #2
    Membre Expert Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Par défaut
    faut fermer toutes les ressources utilisées par le picture box. Fait voir ton code qui ferme la form 2

  3. #3
    Membre éprouvé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Par défaut
    Citation Envoyé par guitoux1
    faut fermer toutes les ressources utilisées par le picture box. Fait voir ton code qui ferme la form 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    void Button2Click(object sender, System.EventArgs e)
    {
            Class_partage.Set_Suppr_file(true);
            pictureBox1.Image = null;
            bouton_non = true;
            Close() ;
    }
    Sachant que Class_partage est une classe et que la je mets le booleen Suppr_file a true pour ensuite dans la form 1 faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if(Form_presentation.Class_partage.Get_Suppr_file())
          File.Delete(Form_presentation.Class_partage.Get_sChemin_Image());
    sachant que Form_presentation et ma form2

  4. #4
    Membre éprouvé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Par défaut
    quelqu'un aurait un idee?

  5. #5
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    faut utiliser finalize() ou dispose() suivant les cas pour forcer la libération des ressources

  6. #6
    Membre éprouvé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Par défaut
    Citation Envoyé par nico-pyright(c)
    faut utiliser finalize() ou dispose() suivant les cas pour forcer la libération des ressources
    j'utilise deja Dispose() !!!

  7. #7
    Membre expérimenté Avatar de toniolol
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2005
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 281
    Par défaut
    Salut,
    je pense que tu charges ta PictureBox avec ImageFromFile et ça c'est blocage de fichier assuré...Un bug non corrigé du FrameWork ou peut-être y a t'il une raison ?
    Pour contourner le problème je fais ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim photoStream As FileStream = FileToRead.OpenRead()
    taPictureBox.Image = Image.FromStream(photoStream)
    photoStream.Close()
    PS : FileToRead est un FileInfo, à modifier selon les besoins.

  8. #8
    Membre éprouvé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Par défaut
    Citation Envoyé par toniolol
    Salut,
    je pense que tu charges ta PictureBox avec ImageFromFile et ça c'est blocage de fichier assuré...Un bug non corrigé du FrameWork ou peut-être y a t'il une raison ?
    Pour contourner le problème je fais ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim photoStream As FileStream = FileToRead.OpenRead()
    taPictureBox.Image = Image.FromStream(photoStream)
    photoStream.Close()
    PS : FileToRead est un FileInfo, à modifier selon les besoins.
    en effet, je l'ouvre avec ImageFromFile...
    je teste ton code et je te dis...

  9. #9
    Membre éprouvé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Par défaut
    genial, ca marche... merci beaucoup...
    voici mon code C# :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    FileStream photoStream = new FileStream(chemin_image, FileMode.Open);
    pictureBox1.Image = Image.FromStream(photoStream);
    photoStream.Close();
    Sachant que l'on peut changer le type d'ouverture... FileMode.Write ou autre chose...
    Je vais faire la proposition de ca en FAQ...
    encore toniolol

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme vbs (effacement de fichiers)
    Par olisab1 dans le forum VBScript
    Réponses: 0
    Dernier message: 16/09/2010, 20h09
  2. Probleme pour effacer un fichier texte (DeleteFile)
    Par nopnop dans le forum Delphi
    Réponses: 10
    Dernier message: 18/06/2006, 23h47
  3. Probleme effacement de clé etrangere
    Par souris_sonic dans le forum Installation
    Réponses: 5
    Dernier message: 31/12/2004, 16h10
  4. [langage] [Fichier]problème modification de fichier
    Par Melchisedec dans le forum Langage
    Réponses: 6
    Dernier message: 30/06/2004, 23h01
  5. [API WIN 32]effacer un fichier
    Par ben_iap dans le forum MFC
    Réponses: 2
    Dernier message: 30/01/2004, 13h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo