Dan
-
Modifié par Whismeril le 8/12/2014 à 06:50
cs_DAN1
Messages postés78Date d'inscriptionsamedi 12 avril 2003StatutMembreDernière intervention19 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
Whismeril
Messages postés19028Date d'inscriptionmardi 11 mars 2003StatutNon membreDernière intervention24 avril 2024656 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.
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 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