In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

OT: clases x e y con formularios

Foro de Xailer profesional en español
Responder
jose.luis
Mensajes: 1633
Registrado: Vie Oct 14, 2005 10:56 pm

OT: clases x e y con formularios

Mensaje 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
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

OT: clases x e y con formularios

Mensaje 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
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
jose.luis
Mensajes: 1633
Registrado: Vie Oct 14, 2005 10:56 pm

OT: clases x e y con formularios

Mensaje 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...
Responder