Ver Mensaje Individual
  #6  
Antiguo 14-04-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por uper
esto es lo raro si la agrego me da error
¿Y por qué es raro esto? Al agregar código de fuerza aumentan las posibilidades de error.

Para empezar yo no usaría RTTI a no ser que fuera absolutamente necesario e imposible hacerlo de otra forma. Si no se domina, las probabilidades de encontrarse un "Access Violation" son altísimas ya que se hace un uso fuera de lo común (en Delphi) de apuntadores.

Por ejemplo, tu haces la verificación

Código Delphi [-]
if Assigned(PropInfo) and (PropInfo^.PropType^.Kind = tkEnumeration) then

La primera parte de la condición ciertamente te garantiza que PropInfo no es nil pero en la segunda parte no sólo referencias PropInfo sino que vas hasta PropInfo^.PropType^.Kind. ¿Quién te garantiza que PropInfo^.PropType no es nil?

Y como te decía, ¿realmente te es necesario usar RTTI?

// Saludos
Responder Con Cita