Jak stwierdzic typ komponentu?

0

Witam,

jak w c++ builderze stwierdzic jaki to typ komponentu? Znalazlem przyklad dla delphi, ale nie wiem jak to przerobic na c++:

    if Components[i] is TLabel then

chodzi o to ze w zaleznosci od typu TLabel, TEdit, TCheckBox chce wykonac rozne akcje.

Dziekuje i pozdrawiam
Jaco

0

Na 99% nie powinieneś tak robić. Powinieneś mieć na przykład osobne kolekcje obiektów różnego typu.

0

@Shalom ma rację, lecz jeżeli z jakiegoś powodu nie możesz zaprojektować swojego programu inaczej, dynamic_cast może pomóc.

0
if (dynamic_cast<TLabel*>(Components[i]) != NULL)

choć pewnie bardziej potrzebujesz czegoś takiego:

Label *label = dynamic_cast<TLabel*>(Components[i]);
if (label != NULL)
0

<quote="1016700">

if (dynamic_cast<TLabel*>(Components[i]) != NULL)

Dzieki, to dziala tak jak chcialem!

Pozdrawiam Jaco

0

boost::type_traits

Pozdrawiam serdecznie

1 użytkowników online, w tym zalogowanych: 0, gości: 1