Página 1 de 1

OT: clases x e y con formularios

Publicado: Jue Feb 15, 2007 3:08 pm
por jose.luis
Hola,
Un supuesto. Creamos un formulario desde el IDE con el nombre de clase
xForm1, algo así..
CLASS xForm1 FROM tForm
....
....
METHOD WMPrintClient( hDC )
....
....
ENDCLASS
METHOD WMPrintClient( hDC ) CLASS xForm
.....
RETURN 0
En el ejemplo muestro como estoy reescribiendo el evento PrintClient.
Luego, más tarde, en mi programa, hago
CLASS tForm1 FROM xForm
METHOD WMPrintClient( hDC ) INLINE Super:WmPrintClient( hDC)
ENDCLASS
Y mi pregunta es: ¿Es esa la mejor manera para anular el evento en la clase
tForm1 pero no en xForm1?
Saludos y gracias,
José Luis Capel

OT: clases x e y con formularios

Publicado: Jue Feb 15, 2007 3:25 pm
por jfgimenez
José Luis,
me parece que te estás liando... o simplemente yo no entiendo lo que quieres
hacer :-(
En tu ejemplo, xForm1 deriva de TForm, mientras que TForm1 deriva
directamente de xForm. Por lo tanto, TForm1 y XForm1 NO tienen absolutamente
ninguna relación entre ellos.
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info

OT: clases x e y con formularios

Publicado: Jue Feb 15, 2007 3:56 pm
por jose.luis
José,
Me estoy liando ;-)
Lo que pretendo explicar es lo que puse en el foro de olivares con el post
'Toc, toc llamando al abuelo".
Dicho de otra manera.
Creo un formulario tipo derivado de tform.
Ese formulario tipo tiene unos métodos redefinidos de tform.
Luego, me creo un formulario derivado de ese formulario tipo.
No obstante uno de los métodos redefinidos en su padre quiero que sean
sustituidos por los originales de su abuelo.
En Harbour creo que ahora si que existe un 'scope' privado para métodos
donde ese método redefinido solo es visible en la clase donde está, las
heredadas no lo ven.
En fin... solo eso...
Saludos,
José Luis Capel
PD: esto viene a colación de la herencia visual.... donde esta situación sí
que se da...