crogger
Messages postés32Date d'inscriptionvendredi 5 avril 2002StatutMembreDernière intervention23 octobre 2006
-
5 avril 2002 à 13:17
cs_Nono40
Messages postés962Date d'inscriptionmercredi 3 avril 2002StatutMembreDernière intervention12 septembre 2006
-
5 avril 2002 à 23:39
Salut, g lu qu'il suffisait de mettre
Aplication.ProcessMessages;
dans une boucle pour ne pas figer l appli, mais je n'arrive quand meme pas a la fermer tant que je suis pas sorti de la boucle ( sauf programm reset ).
et l appli semble vouloir rien savoir d'autre ( a part Minimize ou reduce)...
Merci d'avance !
cs_rtfm
Messages postés26Date d'inscriptionmercredi 9 janvier 2002StatutMembreDernière intervention14 mars 2003 5 avril 2002 à 21:25
Ta le choix, créer un Thread pour ton interface et un thread pour le traitement, ce qui est selon moi une solution très efficace pour tous les logiciels.
Ou bien
Application.ProcessMessages;
ca devrait passé, paste dont ton code voir...
cs_Nono40
Messages postés962Date d'inscriptionmercredi 3 avril 2002StatutMembreDernière intervention12 septembre 20062 5 avril 2002 à 23:39
Il y a une solution plus simple que de créer un Thread supplémentaire.
Ajoute une action sur le OnCloseQuery de la
fenêtre pricpale de ton appli :
( La variable fin doit être globale )
Var Fin:Boolean;
procedure TForm1.FormCloseQuery(Sender:
TObject; var CanClose: Boolean);
begin
Fin:=True;
end;
Modifie ta boucle en suivant l'exemple suivant :
procedure TForm1.Button2Click(Sender: TObject);
begin
Fin:=False;
Repeat
...
...
// On gère les messages Windows
Application.ProcessMessages;
// On doit femer la fenêtre => on sort
If Fin Then Break;
Until False;
end;