Ver Mensaje Individual
  #5  
Antiguo 20-09-2010
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Reputación: 24
maeyanes Va por buen camino
La forma correcta, tal como dice Neftali sería:

Código Delphi [-]
constructor MyClass.Create(AOwner: TComponent);
begin
  inherited;
  FTheForm := AOwner;
  FOldResize := FTheForm.OnResize;
  FTheForm.OnResize := MyOnResize
end;

procedure MyClass.MyOnResize(Sender: TObject);
begin
  // Mi código...
  if Assigned(FOldResize) then
    FOldResize(Sender)
end;

Ahora, si tu clase es un componente, la asignación del evento deberías hacerla redefiniendo el método Loaded:

Código Delphi [-]
  MyClass = class(TComponent)
  protected
    procedure Loaded; override;
  end;

implementation

procedure MyClass.Loaded;
begin
  inherited;
  // Verificamos que estemos en tiempo de ejecución y solo así cambiamos la asigación
  // del evento OnResize
  if not (csDesigning in ComponentState) then
  begin
    FOldResize := FTheForm.OnResize;
    FTheForm.OnResize := MyOnResize
  end
end;


Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita