Petit problème ADA

Résolu/Fermé
Lynyrd81 Messages postés 59 Date d'inscription vendredi 3 octobre 2008 Statut Membre Dernière intervention 24 avril 2011 - 24 nov. 2009 à 23:09
Lynyrd81 Messages postés 59 Date d'inscription vendredi 3 octobre 2008 Statut Membre Dernière intervention 24 avril 2011 - 25 nov. 2009 à 00:21
Bonjour à tous,

J'ai besoin de tester une procedure d'un package pour un TP d'ADA.
Mon programme de test est le suivant:

with Ada.Text_Io, Ada.Integer_Text_Io, Plateau, Ada.Command_Line ;
use Ada.Text_Io, Ada.Integer_Text_Io, Plateau, Ada.Command_Line ;


procedure Test_Exporte_Etat is

   Erreur_Argument : Exception;
   E : Etat;
   R, C: Natural;

begin

   if Argument_Count=0 then
      raise Erreur_Argument;
   end if;

   Init_Plateau("./.." & Argument(1));
   E := Exporte_Etat;

   C := E.Carre1;
   R := E.Reste;

   Put("Carre1 = "); Put(C);
   New_Line;
   Put("Reste = "); Put(R);

end Test_Exporte_Etat;


La seule chose que vous devez savoir, c'est que le type Etat est défini ainsi dans le package plateau:

type Etat is record
  Carre1, Reste: Natural ;
end record ;


Et Exporte_Etat est une fonction sans paramètre qui retourne un Etat.

Pourtant, j'ai une erreur de compilation:
test_exporte_etat.adb:20:09: invalid prefix in selected component "E"
test_exporte_etat.adb:21:09: invalid prefix in selected component "E"


En gros ce sont les lignes suivantes qui plantent:
   C := E.Carre1;
   R := E.Reste;


Un dernier détail, je sais que la fonction exporte_etat fonctionne parfaitement bien, pour l'avoir testée de façon differente déjà.

Je ne comprend pas du tout!
Merci d'avance de votre aide!!

1 réponse

Lynyrd81 Messages postés 59 Date d'inscription vendredi 3 octobre 2008 Statut Membre Dernière intervention 24 avril 2011 1
25 nov. 2009 à 00:21
Bon désolé, en fait j'ai résolu le problème: le type Etat était privé... Donc impossible d'acceder aux valeurs.
1