Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-03-2004
murci murci is offline
Miembro
 
Registrado: jul 2003
Ubicación: Murcia
Posts: 43
Poder: 0
murci Va por buen camino
Error grave en Delphi 8



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
__________________
J. Adolfo Núñez
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 14:35:11.


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
Copyright 1996-2007 Club Delphi