Application figée quand boucle

crogger Messages postés 32 Date d'inscription vendredi 5 avril 2002 Statut Membre Dernière intervention 23 octobre 2006 - 5 avril 2002 à 13:17
cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 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 !

Crogger -

3 réponses

cs_Bestiol Messages postés 833 Date d'inscription dimanche 6 janvier 2002 Statut Membre Dernière intervention 3 novembre 2005 1
5 avril 2002 à 18:31
Je sais pas du tout si ça peux marcher, mais peut-être qu'en créant un thread juste pour ta boucle, ça débloquerai le reste...

Tu peux toujours essayer !!

Bestiol.
0
cs_rtfm Messages postés 26 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 14 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...

rtfm
0
cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 2
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;

--- Nono du Moulin ---
0
Rejoignez-nous