Bonjour,
Une des formes de mon application (un descendant de TFrame) a, parmi ses composants, un autre descendants de TFrame, dont j'ai surchargé le constructeur. Donc j'ai un composant enfant et un composant, avec une entete du genre
Actuellement le composant enfant est créé automatiquement quand on crée son parent, et le constructeur de TMonEnfant est bien appelé, avec le second paramètre par défaut (à zéro dans l'exemple)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 class TMonEnfant : public TFrame { public: TMonEnfant(TComponent *owner, int param=0): TFrame(owner){...} } class TMonParent : public TFrame { __published: TMonEnfant *enfant; }
Maintenant, je voudrais changer ce paramètre dans le constructuer, en passant une liste d'initialisation au parent:
Et là j'ai deux questions :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 TMonParent(TComponent *owner) : TFrame(owner),enfant(owner,1) {}
1- ca me donne un message : ne peut convertir int en TMonEnfant*, donc apparemment, l'initialisation de la liste enfant(owner,1) ne reconnait pas le constructeur, pourquoi?
2- est ce bien "owner" qu'il faut passer? ou (TComponent *)this?
Merci d'avance,
Francois
Partager