Ver Mensaje Individual
  #11  
Antiguo 10-12-2007
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Reputación: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Cita:
Empezado por jachguate Ver Mensaje
Que para aplicar un molde en c no era de la forma (Tipo) Variable?

Digamos que algó así:

Código:
    ((TLabel)Contenedor->Controls[j])->Metodo();
O algo así... pues no tengo a mano c++ para comprobarlo.

Hasta luego.


Hola, los casting en C++ son como dices, el problema está en los componentes VCL que en princi`pio están diseñados para delphi. Builder C++ tiene una forma eficaz de realizar el cast de forma segura:
Tipo* T = static_cast<Tipo*> (puntero) ó
Tipo* T = dynamic_cast<Tipo*> (puntero)
Devuelven un puntero nulo si no puede hacer el cast.

Un ejemplo de código sería el siguiente:

Código:
TLabel *L;
for(int n=0; n<Contenedor->ControlCount; n++){
    L = static_cast<TLabel*>(Controls[n]);
    if(L) L->Metodo();
}
Espero que te ayude.
Saludos.

Última edición por escafandra fecha: 10-12-2007 a las 19:09:15.
Responder Con Cita