Bonjour,
Je réalise actuellement une application qui traite un grand nombre de données dans une boucle :
Or je souhaiterais que lors d'un clic de la souris sur la croix de la fermeture de la fenêtre, celle-ci stoppe ma boucle (via un booléen) et ferme la fenêtre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 void maFenetre:FormActivate(TObject *Sender) { for(int i=0;i<10000;i++) { (...) Application->ProcessMessages(); // pour que ça ne reste pas bloqué ! } }
Mais j'ai beau mettre "stop=true;" dans l'événement "OnClose" ou dans l'événement "OnCloseQuery" de ma fenêtre, cela ne fonctionne pas, elle ne ferme la fenêtre qu'à la fin de ma boucle... Que faire ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 void maFenetre:FormActivate(TObject *Sender) { stop = false; for(int i=0;(i<10000)&&(!stop);i++) { (...) Application->ProcessMessages(); // pour que ça ne reste pas bloqué ! } }
Merci par avance !
Partager