Ver Mensaje Individual
  #6  
Antiguo 01-10-2005
lento manu lento manu is offline
Miembro
 
Registrado: oct 2004
Posts: 29
Reputación: 0
lento manu Va por buen camino
Gracias Mareyanes

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.
Responder Con Cita