Bonjour,
Dans une application que je développe, j'utilise un serveur TFTP. Quand un client se connecte, une Form s'ouvre avec une ProgressBar qui indique l'avancement de l'upload. Mon problème est que ma progressbar n'est pas fluide ou que ma Form se ferme avant que l'upload soit terminé. Dans "pas fluide", je veux dire que la progressbar bloque à 20% et avance rapidement jusqu'a 50% pour se rebloquer par exemple.
Lancement du serveur TFTP :
Événement à chaque octet transféré (MAJ progressBar) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Dim th = New Thread(AddressOf Tftp.Net.SampleServer.TFTPServ.serverStart) th.Start("/fichiers/oneaccess/lbb130/")
Delegate :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 percent = progress.TransferredBytes / progress.TotalBytes * 100 If Not Form2.ProgressBar1.Value = percent Then maj.invoke(percent) End If
Methode du delegate :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Private Delegate Sub majProgressBar(ByVal value As Integer) Public Shared maj = New majProgressBar(AddressOf Form1.majProgressBar)
Lancement du form2 quand un client envoi une requete :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Public Sub majProgressBar(ByVal value As Integer) Form2.ProgressBar1.Value = value End Sub
Parfois, l'application se comporte bien et la progressBar avance bien en même temps que l'upload mais des fois non. Fermeture du form ou progressBar non fluide. Je ne sais pas trop d'où sa vient.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Form2.Show() Form2.TopMost = True Form2.Refresh()
Merci d'avance pour votre aide.
Cordialement
EDIT : Mon Form2 se ferme quand la barre arrive entre 30% et 50%
Partager