Ver Mensaje Individual
  #1  
Antiguo 02-11-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Cómo codificar en el evento (incluso asignado) de un componente

Hola,

Tengo un problema, o, por mejor decir, una inquietud, puesto que no sé si resolviendo esta se creará aquél. Estoy pensando en crear un sencillo componente que habría de heredar de un "TWebBrowser". Para lo que quisiera conseguir, necesitaría de codificar en su evento "OnBeforeNavigate2".

Bien. O mal. El caso es que llego hasta crear un método capaz de responder a dicho evento, de tal forma que cuando creo una instancia de la clase "TDecWebBrowser" pueda hacer algo más o menos así:

Código Delphi [-]
 type
   TDecWebBrowser = class(TWebBrowser)
   private
     // Método que responderá al evento
     procedure AntesDeNavegar(parametros: TParams);
   public
     constructor Create(AOwner: TComponent); override;
   end;
 
 implementation
 
 constructor TDecWebBrowser.Create(AOwner: TComponent);
 begin
   inherited;
   // Asigno el método al evento
   OnBeforeNavigate2 := AntesDeNavegar;
 end;
 
 procedure TDecWebBrowser.AntesDeNavegar(parametros: TParams);
 begin
   // TODO
   // Aquí llegaríamos si el usuario no asignó también
   // un método para este evento: de ser así prevalece-
   // ría su método sobre este, y no solamente eso, si-
   // no que este no llegaría a ejecutarse.
 end;
O sea, al crear el componente asigno a su evento "OnBeforeNavigate2" el método privado del mismo componente, que es en donde necesito codificar determinadas cuestiones. En donde ahora pone "TODO".

¿Y? Pues que si cuando hago uso del componente asigno al evento "OnBeforeNavite2" un manejador del evento, adiós al que asigné cuando se creó el componente. ¿Se entiende? Si algo no se entiende, por favor, no dejéis de decirlo y trataré de ofrecer la información tan precisamente como pueda. Gracias de antemano a todos y saludos.

P.D. No corre ninguna prisa.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita