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 19024 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 18 avril 2024 656
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 211
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 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
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 3
8 déc. 2014 à 15:47
Merci je vais voir ca a tette reposée
0
Rejoignez-nous