SoloCodigo

Programación General => Delphi => Mensaje iniciado por: Homar2006 en Jueves 16 de Noviembre de 2006, 22:34

Título: Herencia En Formularios
Publicado por: Homar2006 en Jueves 16 de Noviembre de 2006, 22:34
Hola a todos....

Cuando se utiliza un formulario y se le da la opcion de "Inherited", al momento de generar un evento, dentro de este aparece la palabra reservada "Inherited;".

Que va antes y que va despues del "Inherited"??? :o
Título: Re: Herencia En Formularios
Publicado por: Enko en Jueves 16 de Noviembre de 2006, 22:58
Antes de "inherited NombreMetodoClasePadre" por lo general no va nada; salgo si es un destructor, en ese caso, va primero todo el codigo y luego inherited.

Puedes buscar en google sobre Herencia, Polimorfismo y Metodos Virtuales o bien, leer "La cara oculta de delphi 4 (http://www.latiumsoftware.com/descarga/lcod4.php)" que trata muy bien el tema.

Si solo estas usando eventos en tiempo de diseño para formularios, pues simplemente no te hace falta la palabra "inherited".

Lo que hace inherited NombreMetodo, es ejecutar el codigo del mismo metodo de la clase padre, y luego seguir adelante.
Título: Re: Herencia En Formularios
Publicado por: Homar2006 en Jueves 16 de Noviembre de 2006, 23:02
Enko, que pena si no me hice entender ahi te envio un ejemplo.

procedure TFrmNmFamil.KPField1Click(Sender: TObject);
begin    // Cuando de click en la lupa, realizar la siguiente sentencia.
  KPField1.SQL.Clear;
  KPField1.SQL.Add('SELECT DISTINCT A.IDE_EMPL, NOM_EMPL');
  KPField1.SQL.Add('FROM TBL_EMPLEADOS A, TBL_CONTRATOS B');
  KPField1.SQL.Add('WHERE A.IDE_EMPL = B.IDE_EMPL AND');
  KPField1.SQL.Add('A.COD_EMPR =' + IntToStr(Application.Tag));
  LOV(KPField1);
  inherited; //ESTE INHERITED ------
end;

end.
Título: Re: Herencia En Formularios
Publicado por: Enko en Viernes 17 de Noviembre de 2006, 01:03
Pues en ese caso,  NO HACE NADA. Es como tener muchos ";;;;;;;;;;" compila, pero no tiene sentido.