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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager