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 :

problème avec ListObject


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 385
    Par défaut problème avec ListObject
    salut développeurs / développeuz:

    j'ai une classe qui s'appelle Terme.
    dans ma fiche principale je veux créer une liste d'objets "terme", pour les réutiliser après.

    j'ai fais ceci:

    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
    23
    24
     
     
    TObjectList *listSL = new TObjectList(true);
    for(int i=0;i<3;i++){
    Terme* t=new Terme();
    listSL->Add(t);
    }
     
    ShowMessage(IntToStr(((Terme*)(listSL->Items[0]))->att));
     
     
    ------
    avec :
     
    class Terme  : public TForm
    {
    //__published:	// IDE-managed Components
     
    private:
     
    public:		// User declarations
              __fastcall Terme();
              int att;
    };
    l'erreur est :

    Cannot find default constructor to initialize base class .

    merci d'avance .

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 407
    Par défaut
    Salut !

    Est-ce que celà peut venir de la classe de base TForm ???

    A mon avis il serait peut-être préférable de dériver de TCustomForm (parce que plus souple que TForm ...).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    class Terme  : public TCustomForm
    {
    //__published:	// IDE-managed Components
     
    private:
     
    public:   // User declarations
          // constructeur sans propriétaire particulier
              __fastcall Terme();
          // constructeur avec propriétaire désigné          
              __fastcall Terme(TComponent *AOwner);
              int att;
    };
    Au quel cas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    __fastcall Terme::Terme()
        : TCustomForm(Application, 0)
    {
    }
     
    __fastcall Terme::Terme(TComponent *AOwner)
        : TCustomForm(AOwner, 0)
    {
    }
    C'est juste une simple remarque (et... peut-être... une solution) !

    A plus !

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 385
    Par défaut
    merci pour ta réponse,
    cependant j'ai une petite question concernant la différence entre les deux constructeurs?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    __fastcall Terme::Terme()
        : TCustomForm(Application, 0)
    {
    }
     
    __fastcall Terme::Terme(TComponent *AOwner)
        : TCustomForm(AOwner, 0)
    {
    }
    merci d'avance

  4. #4
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par défaut
    Le premier constructeur possède un paramètre par défaut qui est Application. Voici une explication de l'aide:
    By default, when a new project is created, the IDE constructs an application object and assigns it to the Application variable in the Forms unit. Application has several properties that can be used to get information about an application while it runs.
    Pour le deuxième, on doit spécifier un paramètre, AOwner de type TComponent. Il est passé à son parent, TCustomForm, à la construction.

Discussions similaires

  1. Problème avec ListObject active/non active
    Par skorpio dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/06/2007, 19h44
  2. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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