FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
VFI - Modificaciones al ancestro.
Hola a todos,
tengo un "problema" o mejor dicho un "comportamiento" que creo que ha sido así toda la vida y que así se quedará, pero tenia que preguntarlo. Ahi va.... Utilizo el siguiente formulario (simple), dos paneles y un DbGrid (lo pongo aquí por comodidad por si alguien puede contestar):
Ahora creo un nuevo formulario heredado de este. Pero a este nuevo formulario le pongo DOS columnas de datos (vease que el primero no tiene columnas):
Ahora, por un momento, imaginad que tenemos 40 formularios (como el segundo), heredados del primero y que, mirate tú, queremos hacer un pequeño cambio en el primer form (el padre del invento). El cambio es simple. Añadimos un nuevo panel que (para los que hayan visto el formulario) ocupa el lugar del grid. El grid pasa a estar dentro del nuevo panel. Hago esto desde la ventana "Structure", creando el panel y arrastrando el DbGrid dentro del nuevo panel. Perfecto, todos los formularios hijo, heredan este cambio, pero acabo de perder TODAS las definiciones de TODAS las columnas (y definición de DataSource, etc.. etc..) de dentro de TODOS los grids de todos los formularios hijos. Es decir, en el ejemplo, 40 formularios a la porra. Y ya no sé si es que es Delphi2010 el que tiene el problema, o ha sido siempre así. Estoy un poco despistado. Alguien puede darme su opinión ? Gracias y un saludo. |
#2
|
||||
|
||||
Efectivamente suceso eso, me imagino que ocurre por que estas modificando el formulario padre, y al hacerlo pues, los formualrios hijos se resetean por así decirlo, para tomar nuevamente lo heredeado.
El mejor consejo que te puedo dar es que debes acegurarte de crear tu formulario padre correctamente para no tener que rehacer nuevamente todo en los formualrios hijos. Nota > lo he probado en Delphi 7. Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
|
#3
|
||||
|
||||
Acabo de probar en delphi 7 y suceden dos cosas: para los formularios abiertos, en efecto, se pierden esas propedades. Para los formularios cerrados, las propiedades se preservan.
Moraleja: cerrar todos los formularios heredados antes de hacer cambios en el padre. // Saludos |
#4
|
||||
|
||||
Uauuuuuuuuu.... !!!!
Efectivamente en Delphi 2010, con la unidad del formulario cerrada, la recuperación es PERFECTA, igual que en Delphi 7. Roman.... tienes dos cervezas (con tapa incluida) a mi cargo..... Gracias mil.... Saludos. |
#5
|
||||
|
||||
Guardo esto, a manera de pagaré.
// Saludos |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Como instanciar objetos de los cuales solo se conoce su clase ancestro | AzidRain | OOP | 7 | 11-07-2008 02:58:17 |
StringGrid y modificaciones | Cecilio | Varios | 1 | 13-09-2007 11:23:17 |
Grabar modificaciones | osvaldo1308 | Varios | 2 | 13-06-2006 10:27:12 |
Que no almacene las modificaciones | perillan | Conexión con bases de datos | 3 | 17-07-2005 20:19:05 |
¿Cómo puedo llamar al método heredado de una clase que no es el ancestro directo? | sarackganda | OOP | 4 | 15-12-2003 22:19:49 |
|