IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ada Discussion :

Illegal declaration in task definition


Sujet :

Ada

  1. #1
    Membre habitué Avatar de semaj_james
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 193
    Points : 139
    Points
    139
    Par défaut Illegal declaration in task definition
    Bonjour,

    j'ai une erreur sur ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    task type Courroie_type is
          procedure incrementePosition(Numero: Natural);
          procedure changementTapis;
          procedure changementTapisGauche;
          procedure changementTapisDroit;
          procedure affiche(S : String);
          -- ajoute une lettre dans la pile
          function AjouteLettre(NvelleLettre : Lettre_Access) return boolean;
          -- met le commutateur dans la bonne position
          procedure CommandCommutateur (Gauche :boolean);
          entry Init(Ident: Natural);
     
       end Courroie_type;
    illegal declaration in task definition
    ca veut dire que je n'ai pas le droit de mettre des procedures dans un task ?

    Si c'est le cas comment je peux faire pour avoir des procedures propres a chaque task ? parce que ces procedures utilisent des variables propres au task, par exemple:

    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
    task body Courroie_type is
          Id: Natural;
          Vitesse:Float := 1/float(MinVitesse);
          LongueurTapis :Natural := 10;
     
          -- le commutateur dirige une lettre sur la courroie de gauche
          CommutateurVersGauche :boolean :=true;
     
          TabLettre: array(0..MaxTabLettre) of Lettre_Access;
          PremiereLettre :T_Pile := 0;
          DerniereLettre :T_Pile := 0;
     
     
          procedure incrementePosition( Numero: Natural) is
          begin
             TabLettre(Numero).Position := TabLettre(Numero).Position + 1;
          end incrementePosition;
    ...

  2. #2
    Membre habitué
    Inscrit en
    Décembre 2004
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 119
    Points : 156
    Points
    156
    Par défaut
    La spec d'une tache n'accepte que des entry.
    Donc en reprenant ton exemple, on aurait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    task type Courroie_type is
          entry incrementePosition(Numero: Natural);
          entry changementTapis;
          entry changementTapisGauche;
          entry changementTapisDroit;
          entry affiche(S : String);
          entry AjouteLettre(NvelleLettre : Lettre_Access;
                             Status       : out Boolean);
     
          -- met le commutateur dans la bonne position
          entry CommandCommutateur (Gauche :boolean);
          entry Init(Ident: Natural);
    end Courroie_type;
    A ta charge dans le body de n'accepter les autres entry qu'une fois qu'init a ete appelee.

Discussions similaires

  1. declaration et definition de fonction template
    Par Nono Sto dans le forum Débuter
    Réponses: 3
    Dernier message: 29/05/2012, 13h38
  2. Declaration vs Definition (classe)
    Par Romain227 dans le forum Débuter
    Réponses: 6
    Dernier message: 08/11/2011, 23h37
  3. declaration et definition de variable globale
    Par remitbo dans le forum C++
    Réponses: 0
    Dernier message: 11/12/2007, 23h12
  4. Declaration Type ds une procedure
    Par Qwazerty dans le forum Langage
    Réponses: 6
    Dernier message: 28/08/2002, 09h09
  5. Declarer une dll Delphi ?
    Par DelphiCool dans le forum C++Builder
    Réponses: 2
    Dernier message: 26/07/2002, 10h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo