Bonjour,
J'ai une application delphi qui lance un thread de recherche de fenêtre; j'aimerai que lorsque le thread se termine (quand la recherche est terminée), que l'application se ferme. Or elle reste ouverte même après avoir executé Application.Terminate.
Je vous joins une partie du code que j'utilise:
Formulaire principal:
Thread:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 procedure Tfrm_principal.FormCreate(Sender: TObject); begin unthread := Trecherche.Create(true); unthread.Priority := tpidle; unthread.FreeOnTerminate := True; unthread.Suspended := false; end; procedure Tfrm_principal.quitter(); begin unthread.Terminate; Application.Terminate; end;
Comment faire pour que le programme se ferme bien?
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 procedure Trecherche.Execute; var trouve : boolean; begin //phase recherche trouve := false; while trouve = false do begin //recherche if ........ then begin trouve := true; end else begin sleep(5000); //réessaye dans 5 secondes end; end; //action sur la fenêtre trouvée ... //quitte le programme frm_principal.quitter(); end; end;
Merci d'avance pour votre aide
Partager