Ver Mensaje Individual
  #5  
Antiguo 11-06-2008
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
Perdonar un inciso. Puede ocurrir un error si un componente Components[i] no es del tipo TCheckBox siendo, entonces, dynamic_cast<TCheckBox*>(Components[i]) un puntero nulo. Si ocurre el resto del código no puede funcionar. Esto puede suceder si en el formulario hay mas controles en la lista de componentes que no sean TCheckBox.

Yo para evitar el error, y hacer el código mas seguro, compruebo la no nulidad del puntero:

Código:
  for (int i = 0; i < this->ComponentCount; i++) {
   TCheckBox* Check = dynamic_cast<TCheckBox*>(Components[i]);
   if(Check) Check->Checked = CheckBox1.Checked;
 }
Saludos

Última edición por escafandra fecha: 12-06-2008 a las 20:50:15.
Responder Con Cita