FILES REMOVER - SUPPRIMER UN GRAND NOMBRE DE FICHIERS

jmenfous Messages postés 117 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 2 juillet 2009 - 20 nov. 2008 à 14:10
cs_eldim Messages postés 956 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 21 août 2014 - 19 déc. 2008 à 15:49
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/48495-files-remover-supprimer-un-grand-nombre-de-fichiers

cs_eldim Messages postés 956 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 21 août 2014 1
19 déc. 2008 à 15:49
bonjour,
manque juste le changement d'attribut avant la suppression sinon les fichiers en lecture seul ne sont pas supprimés normalement
cs_Vince300 Messages postés 11 Date d'inscription lundi 10 mars 2008 Statut Membre Dernière intervention 16 mars 2010
20 nov. 2008 à 21:16
Bonjour

Merci pour ce conseil. Effectivement, je débute avec le BackgroundWorker donc je ne connaissais pas cette propriété.

@+
jmenfous Messages postés 117 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 2 juillet 2009 1
20 nov. 2008 à 14:11
Pardon j'ai fais vite fais mon exemple avec Visual Studio et je n'ai pas pansé à changer le nom de mon BackGroubdWorker:
If Me.MainWorker.CancellationPending Then
e.Cancel = True
return
End If
jmenfous Messages postés 117 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 2 juillet 2009 1
20 nov. 2008 à 14:10
Bonjour,

Peut être pourais tu utiliser un peu plus ton backgroudworker MainWorker avec l'annulation de l'opération en cours.

Je m'explique : Effectivement, tu utilises la méthode CancelAsync() de MainWorker. Mais sans mettre de code controllant la propriété CancellationPending de MainWorker, celà ne sert à rien.

Pour faire simple : passes MainWorker.WorkerSupportsCancellation à True
et dans ta méthode MainWorker_DoWork ajoutes dans chaque boucle le code suivant :
If Me.backgroundWorker1.CancellationPending Then
e.Cancel = True
return
End If

Comme celà si il y a demande d'annulation, il y aura bien un arret de ton job en cours.

En espérant que celà te soit utile.
Rejoignez-nous