Problème d'affectation d'un pointeur
Bonjour,
J'ai un problème dans l'affectation d'un pointeur. Je m'explique :
J'affecte par l'intermédiaire d'une procédure une valeur à un pointeur:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| procedure ini_log1(var point:logs);
begin
point^.tabl:=initab;
point^.tour_en_cours:=1;
point^.joueur_en_cours:=1;
point^.nombre_de_joueurs:=1;
point^.timer_blue:=300;
point^.timer_red:=300;
point^.timer_green:=300;
point^.timer_yellow:=300;
point^.precedent:=nil;
end; |
Puis j'utilise cette valeur dans ma procédure :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| new(log_partie);ini_log1(log_partie);
new(point);
ini_log1(point);
new(point2);
ini_log1(point2);
log_partie^.precedent:=point;
point^.precedent:=point2;
resultat:=defaite_multi(timer_red,timer_blue,timer_green,timer_yellow,log_partie,joueur,tour,tab);
oracle_positif(resultat,test,texte);
dispose(log_partie);
dispose(point);
dispose(point2); |
Mais celle-ci marche pas sauf si j'essaye de voir la valeur dans le pointeur avant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| new(log_partie);ini_log1(log_partie);
new(point);
ini_log1(point);
new(point2);
ini_log1(point2);
log_partie^.precedent:=point;
point^.precedent:=point2;
writeln(log_partie^.joueur_en_cours);//bug
resultat:=defaite_multi(timer_red,timer_blue,timer_green,timer_yellow,log_partie,joueur,tour,tab);
oracle_positif(resultat,test,texte);
dispose(log_partie);
dispose(point);
dispose(point2); |
Est-ce que quelqu'un aurait une idée d'où ce bug peut provenir?