[Delphi 6] - Fermer l'application à la fin d'un thread
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:
Code:
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; |
Thread:
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
|
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; |
Comment faire pour que le programme se ferme bien?
Merci d'avance pour votre aide