Salut!
J'ai un problème de "multitâche" avec un code du genre :La 1ère boucle se lance bien lorsqu'on clique sur le bouton, mais se bloque lorsqu'on lance la 2ème boucle... Je pensais qu'Application.ProcessMessages suffisait dans ce cas... Existe-t-il une solution pour que les 2 boucles fonctionnent simultannément sans utiliser les threads ?
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 {----------------------------------------------------------------} procedure Boucle(Lab: TLabel); Var x: Integer; Begin Repeat x := StrToIntDef(Lab.Caption, 0) + 1; Lab.Caption := IntToStr(x); Application.ProcessMessages; Sleep(200); Until(x > 500); End; {----------------------------------------------------------------} procedure TForm1.Button1Click(Sender: TObject); begin If (Label1.Caption = 'Label1') Then Begin Boucle(Label1); Exit; End; If (Label2.Caption = 'Label2') Then Begin Boucle(Label2); Exit; End; end;
Sinon, quelle est le code le plus simple pour résoudre ce problème ?
Merci d'avance.
Partager