Ver Mensaje Individual
  #13  
Antiguo 11-01-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.293
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Migmam2 Ver Mensaje
Ahora bien, me gustaría saber (si no es mucho pedir ) por qué no se puede hacer la asignación directamente, es decir:

FTreeViewSymbol.OnChange := FOnChange;

Si no entiendo yo mal FOnChange contiene una referencia al procedimiento creado por el usuario final del componente, siendo el mismo tipo de evento y asignandolo al OnChange del TreeViewSymbol estamos pasando esa misma referencia al evento del TreeView. ¿ no ?

El problema es que en el momento de asignarlo FOnChange no vale nada (nil).
Si esa asignación la haces en ejecución, cuando ya ha sido asignada la rutina del evento entonces funciona perfectamente, pero al hacerla en el OnCreate asigna una valor nil.

Si esa asignación la colocaras en un método que la hiciera una vez que el procedimiento del evento ya ha sido asignado (yo lo he probado en el método Invalidate) funcionaría perfectamente, pero personalmente no creo que sea el lugar correcto para ponerlo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita