Cita:
Empezado por Migmam2
Si no entiendo yo mal FOnChange contiene una referencia al procedimiento creado por el usuario final del componente, siendo el mismo tipo de evento
|
Hasta aquí todo correcto.
Cita:
Empezado por Migmam2
y asignandolo al OnChange del TreeViewSymbol estamos pasando esa misma referencia al evento del TreeView. ¿ no ?
|
No. En la asignación:
FTreeViewSymbol.OnChange := FOnChange;
estamos
inutilizando el código que hay escrito en el TreeView.Onchange, y
sustituyendolo por el código que ha escrito el usuario de nuestro componente. Pero ni el Treeview, ni nosotros, mandamos ejecutar ese código.
Como sabemos, la única forma de ejecutar un evento es mediante:
Código Delphi
[-]
if Assigned(NombreEvento) then
NombreEvento(parámetros)
Como esas 2 líneas faltaban en nuestro código, nunca se ejecutaba el evento, dicho de otra forma, "el evento no saltaba".
Saludos