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 :

Problème avec type et tableau


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 Problème avec type et tableau
    bonjour,

    je souhaiterais passe un tableau en parametre dans une fonction. Comment dois je faire ?

    J'ai un package machine:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    package machine is
      task type Machine_Type is
             entry Init (Ident : Natural);
             entry Get(temps: in Duration; ClientId, tacheId : Positive);
       end Machine_Type;
     
       type TTabMachine_Type is array (1..3) of Machine_Type;
     
       procedure affiche(ClientId, tacheId : Positive; S : String)
    end machine;
    un package client:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    package client is
     
       procedure Put (ClientId, tacheId : Positive; S : String);
       task type Client_Type is
          entry Init (Ident : Natural;tabMach: Machine_Type);
       end Client_Type;
    end Client;
    son body:
    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
    task body Client_Type is
          Id:Natural;
          --LesMachines : array(1..3) of  Machine_Type;
          LesMachines :TTabMachine_Type;
     
          tache : array (1 .. 10) of Duration := (others => 5.0);
     
       begin
          select
             accept Init(Ident:Natural; tabMach:TTabMachine_Type) do
     
                Id:=Ident;
                LesMachines:=tabMach;    => E R R E U R de compilation
             end Init;
          end select;
    main:
    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
    19
    20
    21
    22
    procedure clientServ is
     
       Nb_machine : constant Positive := 3;
       Nb_client: constant Positive :=8;
     
       LesMachines : TTabMachine_Type;
       LesClients: array (1 .. Nb_client) of Client_Type;
     
     
    begin
     
       put_line("Lancement application");
       put_line("Creation des machines");
           for i in 1..Nb_machine loop
              LesMachines(i).Init(i);
           end loop;
    put_line("Creation des clients");
            for i in 1..Nb_client loop
              LesClients(i).Init(i,LesMachines);
           end loop;
     
    end clientServ;
    Lorsque que je compile j'ai l'erreur suivante:
    left hand of assignement must not be limited type
    component type "Machine_type" of type "TTabMachine_Type" is limited
    Qu'est ce qui ne va pas ?

    Cordialement

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour, par hasard, les type task ne serait-ils pas des type limité ?
    Ce qui t'empecherait effectivement de les copier.
    Une solution consisterait à faire un tableau de pointeur sur le type Machine_Type

  3. #3
    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
    Finalement j'ai fait plus simple en declarant un tableau vu par tous comme ca pas de soucis.
    Je te remercie

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [TSaveDialog] Problèmes avec type de fichier
    Par Pedro dans le forum Delphi
    Réponses: 14
    Dernier message: 14/12/2006, 21h53
  2. Problème avec Excel et tableau croisé dynamique
    Par françois62 dans le forum VBScript
    Réponses: 9
    Dernier message: 19/11/2006, 22h17
  3. Problème avec StingTokenizer vers tableau de String
    Par nicofromChina dans le forum Collection et Stream
    Réponses: 9
    Dernier message: 06/10/2006, 11h22
  4. Problème avec type de données
    Par yancimer dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 21/09/2006, 16h54
  5. [debutant] problème avec type à utiliser
    Par mlequim dans le forum Autres SGBD
    Réponses: 2
    Dernier message: 15/07/2005, 16h08

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