Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #7  
Antiguo 12-06-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.210
Poder: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Pues este tipo de conversión resulta peligroso. Se trata de una variante de conversión o cast por fuerza bruta, sin tener en cuanta si lo que convertimos es o no factible. Sería algo parecido a la conversión: *(Tipo*)(&Otrotipo)

Es decir puedo convertir un TEdit a un TComBobox por las buenas pero sólo sintácticamente, para que el compilador no proteste. La realidad es que obtendré un error en tiempo de ejecución en cuanto llame a una propiedad o función que no corresponda.

dynamic_cast y static_cast hacen la conversión de punteros, pero si realmente el tipo es erróneo (convertir TComboBox a TEdit, por ejemplo) entonces devuelven un puntero nulo.

Para usar reinterpret_cast o la clasica *(Tipo*)(&Otrotipo) debemos estar muy seguros de lo que hacemos, de lo contrario tendremos un grave error de punteros.

En este caso, creo que lo más adecuado es:
Código:
for (int i = 0; i < this->ComponentCount; i++) {
   TCheckBox* Check = dynamic_cast<TCheckBox*>(Components[i]);
   if(Check) Check->Checked = CheckBox1.Checked;
}
o, también:
Código:
for (int i = 0; i < this->ComponentCount; i++) {
   TCheckBox* Check = static_cast<TCheckBox*>(Components[i]);
   if(Check) Check->Checked = CheckBox1.Checked;
}
Mirad estas referencias: reinterpret_cast, dynamic_cast, static_cast.

Saludos.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
checkbox Lupita Varios 6 07-04-2008 15:12:53
ayuda error mysql y checkbox solidus128 Conexión con bases de datos 5 24-08-2007 23:25:00
ayuda con el checkbox Debian Conexión con bases de datos 4 11-04-2005 18:59:04
ayuda con el checkbox Debian Conexión con bases de datos 1 11-04-2005 09:45:24
checkbox superhopi OOP 3 12-05-2003 10:32:46


La franja horaria es GMT +2. Ahora son las 15:00:54.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi