Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Error grave en Delphi 8 (https://www.clubdelphi.com/foros/showthread.php?t=7967)

murci 03-03-2004 10:30:20

Error grave en Delphi 8
 
:confused: :confused: :confused:

Bueno, aqui estoy otra vez comentando maravillas sobre Delphi 8.
Hace algun tiempo expuse un pb de herencia en Delphi 8 que nadie supo contestarme, pues lo descubierto por mi es lo siguiente:

El entorno es una aplicacion VCL Form.
Creo un Form con funciones basicas que van a a tener todos los forms de mi aplicacion, al que llamaremos FormPadre. En el tengo un TAction para ir declarando funcionalidades.
Los forms de mi aplicacion van heredando de este, y se van depurando y adaptando las funcionalidades declaradas en el formpadre. Hasta aqui no creo que haya hecho nada raro.
Ahora resulta que tengo un form, que hereda del primero, que tambien sirve de base a otros forms. A este le llamaremos FormPadre2. Hay funcionalidades del FormPadre que no se alteran en ningun form. Por ejemplo la acción CerrarVentana, con ShorCut, la tecla de escape. Esta acción realiza solamente un Close.
Despues tengo otros forms que heredan de FormPadre2. Pues bien aqui, aparece el problema. La accion CerrarVentana, que deberia llegar a los hijos de FormPadre2, cuando ejecuto la aplicacion y abro un form que hereda de FormPadre2, la accion CerrarVentana no se ejecuta.
Resumiento, una accion declarada en FormPadre, se hereda bien en el primer nivel, pero cuando heredo de formpadre2, se pierde la funcionalidad declarada en formpadre.
Solucion:
En el OnCreate del FormPadre, asignar los manejadores correspondientes al evento OnExecute en tiempo de ejecución.

Espero haberme explicado bien y que se entienda el problema. Hasta ahora creo que el que no herede mas alla del primer nivel es un error del compilador de Delphi 8, cosa que no me sucedia cuando programaba en Delphi 5, y a mi entender es un problema bastante grave.

Este mensaje es para saber si es que yo hago algo mal y alguien me lo puede solcuionar, cosa para la cual no tengo esperanzas; y para indicar a todos aquellos que ya trabajen con Delphi 8 el problema existente y que no se rompan la cabeza si les sucede a ellos.

Un saludo a todos, espero no haber sido muy pesado en mi exposicion.

Gracias por adelantado a vuestras posibles soluciones de este problema


La franja horaria es GMT +2. Ahora son las 09:40:50.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi