Progresbare qui bloque

Dan - Modifié par Whismeril le 8/12/2014 à 06:50
cs_DAN1
Messages postés
78
Date d'inscription
samedi 12 avril 2003
Statut
Membre
Dernière intervention
19 juillet 2017
- 8 déc. 2014 à 15:47
Bonjour a tous.

J'ai une application vb.net 2010 dans laquelle j'effectue un envoi de mail avec pièce jointe.
Pour faire patienter jt lance mon progresbare comme ceci
ProgressBar1.start 

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

        ProgressBar1.Visible = True
suit:
        ProgressBar1.Value = ProgressBar1.Value + 1
        If ProgressBar1.Value >= 99 Then
            ProgressBar1.Value = 0
        End If       
    End Sub

tant que les mail ne sont pas envoyés le ProgressBar1 défile normalement
puis il se fige lors de l'envoie du mail pour redemandes a la fin de l'envoie.
c'est bien selon moi l'instruction sendmail qui en est la cause.
quelle solution pourriez vous me conseiller ?
Si le ProgressBar1 ne convient pas quelle autre solution pouriez vous me conseiller.
d'Avance je vous remercie de votre aide

EDIT: Ajout de la coloration syntaxique.

3 réponses

Whismeril
Messages postés
17673
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
15 août 2022
613
8 déc. 2014 à 06:57
Bonjour, je code principalement en C#, mais il s'agit aussi d'une technologie .Net donc je ne pense pas te dire de bêtise.

Le problème vient du fait que le thread principal qui gère à la fois tes instructions et l'affichage de ta form doit mettre toutes ses ressources dans l'envoie du mail et mettre "en pause" le reste.

Pour éviter cela une solution est d'utiliser un backgroundworker qui s'occuperait de l'envoie du mail.
0
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
Modifié par ucfoutu le 8/12/2014 à 07:17
Bonjour,
je ne connais pas non plus VB.Net,
Je reste cependant assez surpris chaque fois que je vois un timer qui "définit" la valeur d'une barre de progression, ce qui fait qu'il constate non l'avancement de tes envois, mais la durée écoulée !

Je m'interroge par ailleurs sur le sens de :
ProgressBar1.start

Je ne le comprends pas du tout.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
0
cs_Le Pivert
Messages postés
7803
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2022
132
8 déc. 2014 à 08:25
Bonjour,

il faut que tu utilises un thread, voir explication ici:

http://plasserre.developpez.com/cours/vb-net/?page=windows-forms5#LX-R-1
0
cs_DAN1
Messages postés
78
Date d'inscription
samedi 12 avril 2003
Statut
Membre
Dernière intervention
19 juillet 2017
2
8 déc. 2014 à 15:47
Merci je vais voir ca a tette reposée
0