[net] modification d'une image après être passée dans un picturebox....

lex1111 Messages postés 220 Date d'inscription jeudi 30 mars 2006 Statut Membre Dernière intervention 26 octobre 2007 - 7 déc. 2006 à 17:02
lex1111 Messages postés 220 Date d'inscription jeudi 30 mars 2006 Statut Membre Dernière intervention 26 octobre 2007 - 7 déc. 2006 à 19:24
Bonjour, voici mon problème...

Je n'arrive pas à renommer/supprimer un image lorsqu'elle été dans une picturebox car elle est toujours utilisé...
Voici mon code :

-------------------------------------------------------------
'on change l'image dans la picturebox :
            picturebox.Image = Image.FromFile(Application.StartupPath & "\image1.jpg")

'on supprime l'image du DD :
            Kill(Application.StartupPath  & "\image2.jpg")
-----------------------------------------------------------------------------------------------------

Je ne sais vraiment pas quoi faire car quoi que je mette entre les 2 ligne (picturebox.update, picturebox.refresh) ça ne marche pas....

Savez vous comment régler ça ?
merci d'avance

8 réponses

pape0 Messages postés 132 Date d'inscription mercredi 18 février 2004 Statut Membre Dernière intervention 1 septembre 2014
7 déc. 2006 à 17:12
Je pense qu'il faut d'abord vider ta 'picturebox' car elle utilise l'image que tu veux supprimer.




 



la mettre a Nothing.

















<hr />
Aller voir ces sites http://www.pape-bleu.net
 
 ou http://www.papebleu.net.
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
7 déc. 2006 à 17:23
Sous .Net pour liberer immediatement une ressource, il faut utiliser sa méthode Dispose

La mettre à Nothing ne fait que la marqué Libérable, la libération n'ayant lieu que plus tard selon les besoins et les possibilités du système.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
lex1111 Messages postés 220 Date d'inscription jeudi 30 mars 2006 Statut Membre Dernière intervention 26 octobre 2007 1
7 déc. 2006 à 17:23
J'ai essayer de mettre nothing, mais c'est la même chose...

Mais je n'utilise pas l'image que je veux supprimer vu que je la change (je met image1.jpg dans la picture box et je supprime image2.jpg )
0
lex1111 Messages postés 220 Date d'inscription jeudi 30 mars 2006 Statut Membre Dernière intervention 26 octobre 2007 1
7 déc. 2006 à 17:29
Dispose ne marche pas non plus, j'ai toujours la même erreure
0

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

Posez votre question
lex1111 Messages postés 220 Date d'inscription jeudi 30 mars 2006 Statut Membre Dernière intervention 26 octobre 2007 1
7 déc. 2006 à 18:15
C'est a ni rien comprendre, même un GC.collect ne fonctionne pas...
0
lex1111 Messages postés 220 Date d'inscription jeudi 30 mars 2006 Statut Membre Dernière intervention 26 octobre 2007 1
7 déc. 2006 à 18:37
Si quelqu'un veux bien regarder ma source pour voir d'ou viens le pb, je lui serait énormement reconnaissant ( a telechargerv3.0 vb.net.zip ici ) c'est du VB2005

pour localiser le plus simplement le problème, lancer en mode débogage le log, choisissez "diner de cons" dans la listview puis clic droit puis "supprimer de la base de donnée".

Pour infos, ce log est la suite de la source que j'ai poster sur vbfrance ici :
http://www.vbfrance.com/codes/GESTION-DIVX-PRESENT-SUR-HD_37653.aspx
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
7 déc. 2006 à 19:12
Mission réussie apparement :

If present Then
    affiche.Image.Dispose()
    affiche.Image = Nothing

    GC.Collect()
    GC.WaitForPendingFinalizers()
    'IO.File.Delete(Application.StartupPath & "\donnees" & dr("Nom").ToString & ".jpg")
    Kill(Application.StartupPath & "\donnees" & dr("Nom").ToString & ".jpg")
End If

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
lex1111 Messages postés 220 Date d'inscription jeudi 30 mars 2006 Statut Membre Dernière intervention 26 octobre 2007 1
7 déc. 2006 à 19:24
En effet, je te dois une fière chandelle :D
Gros soulagement je pensais ne jamais y arriver...
merci infinement...
au fait si tu a des petites remarques sur mon code (pour le simplifier ou pour le rendre plus rapide, je suis preneur...)
0
Rejoignez-nous