Gracias Marcos. Si me ha servido, por supuesto. Sobre todo a que el código esté claro, no contenga la redundancia que contenía al repetir las llamadas internas de un evento ya escrito. No sospechaba ni en lo más remoto que
Código Delphi
[-]FOldOnActivate := Explorador.OnActivate;
pudiera funcionar, todavía no comprendo bien por qué funciona, pero ya me entrará en la cabezota.
El comportamiento, después de los cambios que me sugieres, es de hecho, el mismo. Quiero decir, que en el Inspector de Objetos, me aparece el evento OnActivate, que por lo menos, ejecuta el evento asociado en el form que se creará, pero si escribo código en este evento, que necesito para realizar un
locate, este no se ejecuta, aunque lo escriba con
inherited. Si tienes alguna idea... ...Acabo de probar esto y
EUREKA: funciona. Evidentemente por eso me has recomendado utilizar una nueva variable FOldOnActivate, para mantener la heredada y la propia. Dejando el procedimiento así, se me ejecutan ambas:
Código Delphi
[-]
procedure TDBexplorer.Activate(Sender: TObject);
begin
inherited;
if Assigned(Explorador) then
begin
if Assigned(FOldOnActivate) then
FOLdOnActivate(Sender);
if Assigned(FOnActivate) then
FOnActivate(Sender);
end;
end;
Muchísimas gracias por el empujoncito: me he estampado con lo que iba buscando.