felsfr
Messages postés25Date d'inscriptionmardi 1 mars 2005StatutMembreDernière intervention13 décembre 2005
-
10 avril 2005 à 18:47
felsfr
Messages postés25Date d'inscriptionmardi 1 mars 2005StatutMembreDernière intervention13 décembre 2005
-
12 avril 2005 à 01:21
Bonjour,
Débutant en VB.NET, j'ai un petit problème avec la gestion des fichiers.
Ayant chargé une image 'image.jpg' dans une picturebox, je souhaiterais l'effacer du disque dur. Après avoir vidé la picturebox par
'image1.image= nothing',
je tente de l'effacer du hd par la méthode fileinfo de la sorte :
Dim Fi as Fileinfo
Fi =New Fileinfo(fichier) ' fichier étant correctement formaté
Fi.Delete()
Et j'obtient le message suivant
"Le processus ne peut accéder au fichier "image.jpg", car il est en cours d'utilisation par un autre processus"
Cela fonctionne correctement si l'image n'a pas été chargée dans la picturebox, mais message d'erreur dans le cas contraire. Comment "Décharger" le fichier image.jpg afin qu'il ne soit plus utilisé par un processus quelconque afin de pouvoir l'effacer ?
felsfr
Messages postés25Date d'inscriptionmardi 1 mars 2005StatutMembreDernière intervention13 décembre 2005 12 avril 2005 à 01:21
J'ai trouvé la solution après recherche sur des forums dans la langue de Shakespear. Je poste donc l'info pour en faire profiter ceux qui pourraient en avoir l'utilité :
'affichage de l'image dans la picturebox
''on charge l'image par un fromstream et on libere ensuite le filestream car sinon
'impossible d'effacer le fichier par la suite comme avec la méthode
'Image1.Image = System.Drawing.Image.FromFile(nom_du_fichier_image) qui elle
'verrouille le fichier chargé dans la picture box.
Dim mon_image As Image
Dim fs As New System.IO.FileStream(nom_du_fichier_image, IO.FileMode.Open)
mon_image = Image.FromStream(fs)
Image1.Image = mon_image 'on affiche l'image
fs.Close() 'on libere le stream
- - - -
Dim Fi As FileInfo
Fi = New FileInfo (nom_du_fichier_image)
Fi.Delete()
'on efface le fichier
felsfr
Messages postés25Date d'inscriptionmardi 1 mars 2005StatutMembreDernière intervention13 décembre 2005 10 avril 2005 à 19:56
Merci pour ta réponse,
mais le problème n'est par d'effacer la picturebox, 'image1.image= nothing' fonctionne très bien pour cela, mais impossible d'effacer le fichier du disque, il est toujours en utilisation par un processus.