none
Supprimer un fichier RRS feed

  • Question

  • Bonjour,

    Mon problème est le suivant:

    Je désire supprimer un fichier "nf"

    - File.Delete(nf)
    -My.Computer.FileSystem.deletefile(nf)

    -Kill(nf)

    mais a chaque fois c'est impossible car le fichier est ouvert.

    Je n'ai ouvert aucun fichier si ce n'est que

    dim img as image

    img=image.fromfile(nf)  'ouverture probable (?)

    picturebox1.image = img

    donc je fais img.dispose

    et même picturebox1.dispose

    mais cela ne ferme pas le fichier nf

    faut il utiliser fromstream au lieu de fromfile

    Qu'en pensez vous ?

    merci

    lundi 14 octobre 2013 14:29

Réponses

Toutes les réponses

  • Bonjour,

    Si vous n'arrivez pas a supprimer un fichier c'est qu'il est soit utilisé par le système ou il a des attribues spécifique

    Il est pas possible que image.fromfile(nf) empêche la suppression de votre fichier, car ce code vient après et pas avant


    Cordialement,

    lundi 14 octobre 2013 14:45
    Auteur de réponse
  • Bonjour,

    à l'adresse http://msdn.microsoft.com/fr-fr/library/stf701f5(v=vs.100).aspx, il est spécifié "Le fichier reste verrouillé tant que Image n'a pas été supprimé.". Il est donc impossible de supprimer le fichier puisque celui-ci est utilisé.

    File.Delete(nf) devrait fonctionner après img = Nothing.


    Nimzozo, from France.

    • Marqué comme réponse PRVB66 mardi 15 octobre 2013 07:45
    lundi 14 octobre 2013 18:39
  • Bonjour,

    Utilisez la méthode Image.FromFile() :

    Using pictureStream As Stream = File.Open("C:\........\Image.png", FileMode.Open)
         Me.PictureBox.Image = Image.FromStream(pictureStream)
    End Using

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance - P.O.S Informatique
    Blog : http://gilles.tourreau.fr - Suivez-moi sur Twitter
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCSA : SQL Server 2012
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 / TFS 2010 / Windows Azure

    lundi 14 octobre 2013 18:46
    Modérateur
  • merci. effectivement la destruction explicite de l'objet img en

    lui affectant la valeur nothing est simple et efficace.

    mardi 15 octobre 2013 07:47