Je voudrais seulement décompresser le fichier après... J'ai donc essayé :
myWebClient.DownloadFileCompleted += new AsyncCompletedEventHandler(UnZip);
UnZip étant ma fonction de décompression... Sauf que ça ne marche pas car le WebClient semble encore utilisé l'archive. Est-ce que quelqu'un aurait une solution ?
J'utilise le Async car je dois afficher le pourcentage du téléchargement et la vitesse...
vb95
Messages postés3511Date d'inscriptionsamedi 11 janvier 2014StatutContributeurDernière intervention18 septembre 2024169 Modifié le 9 juil. 2020 à 14:21
M3NSONG3
Messages postés615Date d'inscriptionmardi 16 avril 2013StatutMembreDernière intervention 4 novembre 20211 9 juil. 2020 à 14:41
Oui, mais je sais décompresser un fichier... le problème est que avec la version Async de la fonction, elle ne peux pas y accéder car une fois le télécharger terminé, le WebClient semble encore utiliser le fichier
vb95
Messages postés3511Date d'inscriptionsamedi 11 janvier 2014StatutContributeurDernière intervention18 septembre 2024169 Modifié le 9 juil. 2020 à 15:39
Bonjour
il faut intégrer un gestionnaire d'évènement
la ligne qui n'est pas correcte est celle-ci
myWebClient.DownloadFileCompleted += new AsyncCompletedEventHandler(UnZip);
il faut la mettre dans le Form_Load de ta Form de cette façon : c'est ton gestionnaire d'évènement . Cet évènement se déclenchera une fois le téléchargement terminé .
myWebClient.DownloadFileCompleted += ExtractFile;
Le mot ExtractFile doit être souligné en rouge : évidement nous n'avons pas créé la Sub qui doit s'exécuter une fois l'évènement déclenché .
Ci-joint un exemple avec un de mes codes ( AjouterListeMots est souligné en rouge )
Fais un clic droit sur le mot souligné et crée la Sub d'extraction de ton fichier en cliquant sur le message qui t'es affiché
M3NSONG3
Messages postés615Date d'inscriptionmardi 16 avril 2013StatutMembreDernière intervention 4 novembre 20211 11 juil. 2020 à 11:57
Bonjour,
Merci, mais j'ai réglé le problème autrement, j'avais bien compris qu'il fallait créer une autre méthode... Je l'avais même déjà fait, mais en passant par cette solution, le fichier est encore utilisé, on ne peut donc pas l'extraire, j'ai donc joué sur les threads avec des threads.Join() et le WebClient (et sa méthode isBusy()) et le problème est réglé.
9 juil. 2020 à 14:41
Merci pour la réponse.