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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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?