Borland et TObject... (et un peu de pointeurs aussi...)

Borland et TObject... (et un peu de pointeurs aussi...) - C++ - Programmation

Marsh Posté le 17-05-2003 à 18:16:11    

Salut tout le monde,
 
Sous Borland, voici mon problème:
 
Dans plusieurs classes, je fais appel à la fonction suivante, qui me permet de remplir des ComboBox...

Code :
  1. bool __fastcall RemplirJoueurs(
  2.     TObject * TObjet,
  3.     int NoeudEquipe);


 
Le problème est que Objet peut-être soit de type TComboBox, soit de type TListBox...
 
Ce que je veux, c'est donc détecter le type de TObjet quand on appelle la fonction, et déclarer un autre pointeur Objet qui avec le même type que TObjet, pour remplir aussi bien des ComboBox que des ListBox...
 
J'ai fait ça:

Code :
  1. bool __fastcall TMainForm::RemplirJoueurs(
  2.                 TComponent * TObjet,
  3.                 int NoeudEquipe)
  4. {
  5. if (AnsiString(TObjet->ClassName()) == "TListBox" )
  6.         TListBox *Objet = (TListBox *)TObjet;
  7. else
  8.         TComboBox *Objet = (TComboBox *)TObjet;
  9. .....
  10. .....
  11. }


 
Mais bien sûr le problème est que Objet n'est alors déclaré que dans if / else, et je n'arrive pas à faire autrement pour détecter le type de TObjet et ainsi créer un Objet sur le type valide...
 
Vous auriez une idée?
 
Merci!!


---------------
Another .Net Blog
Reply

Marsh Posté le 17-05-2003 à 18:16:11   

Reply

Marsh Posté le 19-05-2003 à 09:44:07    

Il me semble bien que c'est pour un problème de ce genre qu'on m'avait envoyé du côté des abstract factory et concrete factory ...
 
En gros, tu fais une classe qui va te servir à instancier tes objets ... Tu trouveras plus d'infos en faisant une simple recherche google avec les termes : "pattern factory abstract"


---------------
last.fm
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed