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

C++Builder Discussion :

Déclaration d'un composant dynamique


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2008
    Messages
    279
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 279
    Par défaut Déclaration d'un composant dynamique
    Bonjour tout le monde, j'ai essayé de déclararer un composant dynamique en définissant la taille du composant avec une variable mais borland m'indique une erreur....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int nbimage=10;
    TImage *Image[nbimage];
    Code erreur : [C++ Erreur] Unit1.cpp(24): E2313 Expression constante nécessaire

    Merci

  2. #2
    Membre Expert
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Par défaut
    Comme le message d'erreur l'indique, tu ne peut pas initialiser la taille d'un tableau à partir d'une variable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TImage *Image[10]; // C'est OK
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int nbimage=10;
    TImage *Image[nbimage]; //Erreur de compilation

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2008
    Messages
    279
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 279
    Par défaut
    Je suis obliger de faire comme sa car c'est une variable que je recupère de l'utilisateur quand il rentre dans le programme, sinon si possible d'avoir une autre solution

  4. #4
    Membre Expert
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Par défaut
    De mon coté, lorsque je dois gérer une liste d'objet dont le nombre n'est pas déterminé à la conception, j'utilise TObjectList. Il s'utilise comme TStringList, avec des objets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
      TObjectList *objList = new TObjectList() ;
     
      objList->Add( Image1 ) ;
      objList->Add( Image2 ) ;
      objList->Add( Image3 ) ;
      //[...]
      for( int i=0; i< objList->Count; i++ )
      {
         ShowMessage( ((TImage*) objList->Items[i] )->Name ) ; //Au moment de récupérer l'objet, il faut indiquer de quel objet il s'agit, par exemble pour des images (TImage*)
      }
      //[...]
      delete objList ;

  5. #5
    Membre éclairé
    Inscrit en
    Avril 2008
    Messages
    279
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 279
    Par défaut
    Oui je suis d'accord mais ton image tu sais combien tu en veu, moi je sais pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      objList->Add( Image1 ) ;
      objList->Add( Image2 ) ;
      objList->Add( Image3 ) ;
     
    //Moi je ne sais pas combien j'ai est

  6. #6
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Ce n'est pas grave, tu peut faire une boucle pour les créer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    TImage* image = NULL;
    for(int i=0;i<nbImage;i++)
    {
      image = new TImage(NULL);
      objList->Add(image);
    }

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

Discussions similaires

  1. [Delphi 7] Déclaration d'un composant dynamique
    Par alainvh dans le forum Débuter
    Réponses: 5
    Dernier message: 06/02/2010, 09h25
  2. créer composant dynamiquement avec sa déclaration
    Par Mihalis dans le forum Delphi
    Réponses: 27
    Dernier message: 13/06/2007, 09h14
  3. [FLASH MX] Nom de composant dynamique
    Par bobgeldof7 dans le forum Flash
    Réponses: 2
    Dernier message: 12/11/2004, 23h07
  4. [THandle][DLL] Composant dynamique et THandle
    Par el_diablos dans le forum Langage
    Réponses: 10
    Dernier message: 01/07/2004, 15h01
  5. [JTabbedPane] Accès à des composants dynamiques
    Par SamRay1024 dans le forum Composants
    Réponses: 8
    Dernier message: 26/05/2004, 13h04

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