Bonjour à tous
J'ai un problème récurrent mais intermittent avec les boucles For. On sait pas quand ça arrive, mais ça finit par arriver...
soit
Dans ce bout de code si je trace avec F7 le curseur programme passe qu'une seule fois sur beep;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 for i:=0 to 0 do for j:=0 downto 0 do beep;
Or
Avec iVecteur =0 ainsi que S-iSi-1 = 0
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 for i:=0 to iVecteur do for j:=S-iSi-1 downto 0 do Zen[i].Soustrais(Sd[iSi-vecteur[i]-j]);
Alors qu'il ne devrait passer qu'une seule fois, le curseur programme passe deux fois sur Zen[i].Soustrais. Au premier passage il exécute bel et bien Soustrais. Mais au second passage, il s'arrête dessus mais n'appelle pas Soustrais ?!?
Si je remplace Zen[i].Soustrais(Sd[iSi-vecteur[i]-j]) par beep,
il ne passe qu'une seule fois.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 for i:=0 to iVecteur do for j:=S-iSi-1 downto 0 do beep;;
Donc ce n'est pas un problème dû aux variables lors de l'initialisation des boucles for.
Avez vous des explications?
D'accord ça revient au même mais quand on trace pour déverminer le programme ça fait perdre un temps fou car on cherche à résoudre une punaise qui n'existe pas...
Merci d'avance.
Partager