Ver Mensaje Individual
  #2  
Antiguo 02-11-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
Se supone, que el evento OnBeforeNavigate2 es del propio TWebBrower, entonces, tu componente ha de quitarlo de la zona published. Simplemente declarandolo en tu componente en la zona Private.

A continuación creas tu propio evento OnBeforeNavigate y lo haces published. Y este nuevo evento será el que vea el usuario de tu componente, es decir:
Código Delphi [-]
type
   TDecWebBrowser = class(TWebBrowser)
   private
     Fnuevo : .....;

     // Método que responderá al evento
     procedure AntesDeNavegar(parametros: TParams);
     property OnBeforeNavigate2 .... // este es el antiguo
   public
     constructor Create(AOwner: TComponent); override;
   published
      property OnBeforeNavigateNuevo:.... read FNuevo write FNuevo;
   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.
  if Assigned(FOnBeforeNavigateNuevo) then
      FOnBeforeNavigateNuevo(.....parametros que lleve);
 end;
El usuario programador que use tu componente no sabrá que existe AntesDeNavigar (ni falta que le hace) .

Espero te sirva.
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita