demarrer un timer depuis un thread
Bonjour, je souhaite démarrer un timer depuis un thread mais cela ne fonctionne pas, je pense qu'il s'agit du même problème que lorsque l'on essaye de modifier un élément de la fenêtre depuis un thread ?
Mais comment puis je faire ? mettre un sleep ? mais cela figera mon application
voici mon code simplifié :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
'au demarrage de l'application
_threadMail = New Thread(New ThreadStart(AddressOf reception))
_threadMail.Name = "Thread1"
_threadMail.Start()
Public sub reception()
'plein de traitement avant puis ce qui nous intéresse
traitement_data()
End sub
'c'est dans traitement_data() que je lance mon timer qui ne s'execute jamais :
Public sub traitement_data()
'plein de traitement puis on lance le tr
'on demarre le tr_print pour aprés 16 secondes lancer l'impression avec la carte si elle a eu le tps de venir
Tr_print.Interval = 16000
Tr_print.Start()
End Sub
'et enfin le timer qui ne s'éxecute pas
Private Sub Tr_print_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tr_print.Tick
'on parcours aprés 12 secondes le dossier pour voir la carte avec le numero dop en png est présente ou pas
Try
If System.IO.File.Exists(dossier_fax + "\" + numero_op.ToString + ".png") Then
impression_ticket() 'si on a trouve le fichier on imprime
les_try("tr_print_tick() on imprime on a la carte")
Tr_print.Stop()
Exit Sub
Else
impression_ticket()
les_try("tr_print_tick() à detecté que le fichier " + numero_op.ToString + ".png est absent")
Tr_print.Stop()
Exit Sub
End If
Catch ex As Exception
les_try("tr_print_tick() " & ex.ToString)
End Try
End Sub |