Voici le code incriminé
Puis dans un bouton mettre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 type TMonTest = (mt1, mt2, mt3{, mt4, mt5, mt6, mt7, mt8, mt9}); TMonTests = Set of TMonTest; end;
Explication du phénomène
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
19 var T1 : TMonTests; T2 : TMonTest; i : integer; begin i := 0; T1 := [mt1, mt3]; for T2 in T1 do begin case T2 of mt1: Showmessage('mt1'); mt2 : Showmessage('mt2'); mt3 : Showmessage('mt3'); end; Inc(i); end; Showmessage('boucle :' + IntToStr(i)); end;
- En Exécution :
Si on exécute le code suivant on a mt1 et Mt3 qui apparaissent via un showmessage et à la fin boucle indique 2.
-En Pas à pas :
Chose étrange on passe 8 fois dans la boucle for (si vous placez le point d'arrêt sur le for on est obligé de faire 8 fois F8) mais on ne passera que 2 fois dans le corps de la boucle.
D'où peut venir se phénomène ?
Est ce que vous avez ce même phénomène avec d'autres version de delphi ?
Partager