FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Agregar clase Tform en medio de Herencia Visual
Buen dia. Resulta que esto de la herencia visual es bastante interesante, el unico problema que no esta hecho para que humanos como yo, que cometemos errores de diseño, lo utilice.
Vamos al grano, tengo una seria de formularios todos heredados de un antecesor: Código:
Tform-> Tform1 -> Tform2 ... Código:
Tform-> Tforma -> Tformb ... Código:
Tform ->TformPadre -> Tform1 -> Tform2 ... | | \ -> Tforma -> Tformb ... Desde ya muchas gracias Esteban |
#2
|
||||
|
||||
Acabo de hacer una prueba cambiando directamente el ancestro de TForm1 a TFormPadre en el código y ha fucionado bien. La única observación es que si TFormPadre tiene componentes, debes cerrar la unidad de TForm1 y volverla a abrir para que se vean reflejados los cambios.
// Saludos |
#3
|
|||
|
|||
que bueno, por suerte la solucion parecia facil y fue facil.
Muchas gracias por la respuesta Esteban |
#4
|
|||
|
|||
No esta resuelto aun
probe lo que dijiste y funciona en primer lugar.
Pero cuando quiero agregar nuevos componentes en el padre 'incrustado' TFormPadre ya no se propagan esos objetos en los hijos. Es mas, agrego un mismo nombre de componente en TFormPadre y Tform1 y no me da error, cuando si es valida la herencia deberia dar error en el hijo por ya existir el componente en el padre. Alguna idea para resolver el tema? Que pasa si tengo decenas de clases, acaso no podria 'ajustar' la herencia? Empezar de nuevo a heredad me parece una locura. Saludos y gracias Última edición por FlacoNet fecha: 05-02-2010 a las 22:19:20. Razón: Explicar mejor el error que tuve al probar lo propuesto |
#5
|
|||
|
|||
Revisa los dfm y cambia la herencia alli tambien
|
#6
|
|||
|
|||
¿A que te refieres con revisar los dfm? Lo que hice fue poner los formulario como texto y ver que podia cambiar pero en ningun momento esta alli el codigo del padre.
Código:
inherited F_ABMGrilla2: TF_ABMGrilla2 Left = 722 Top = 113 Width = 578 Height = 634 OldCreateOrder = True PixelsPerInch = 96 TextHeight = 13 object GroupBox2: TGroupBox [0] Left = 4 Top = 272 Width = 561 Height = 261 Caption = 'Grupo 2' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clBlue ... gracias |
#7
|
|||
|
|||
Resuelto
romfrost13 diste en el blanco.
Comento lo que hice para que quede documentado. El codigo dfm del form que heredaba de Tform era el siguiente: Tform->TF_ABMGRILLA1 Código:
object F_ABMGrilla1: TF_ABMGrilla1 Left = 429 Top = 215 Width = 577 Height = 368 Caption = 'Administrador de TABLA' OnCreate = FormCreate OnDestroy = FormDestroy PixelsPerInch = 96 TextHeight = 13 object b_BarraEstado: TStatusBar Left = 0 Top = 319 ... Tform -> TF_ABM -> TF_ABMGRILLA1 Código:
inherited F_ABMGrilla1: TF_ABMGrilla1 Left = 429 Top = 215 Width = 577 Height = 368 Caption = 'Administrador de TABLA' OnCreate = FormCreate OnDestroy = FormDestroy PixelsPerInch = 96 TextHeight = 13 object b_BarraEstado: TStatusBar Left = 0 Top = 319 ... Muchas gracias a todos, Esteban Última edición por FlacoNet fecha: 07-02-2010 a las 14:49:58. Razón: para que se entienda mejor el ejemplo final |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Herencia visual y variables públicas | rarratia | OOP | 20 | 07-11-2008 19:00:07 |
Problema herencia visual en form | diegofhernando | OOP | 8 | 19-05-2008 16:41:33 |
Herencia visual en formularios... | diegofhernando | OOP | 4 | 18-04-2008 10:54:05 |
Clase que hereda de TForm | rocio84 | OOP | 3 | 29-10-2005 12:54:27 |
No se ven controles en herencia visual | Sirkius | OOP | 10 | 07-06-2004 22:25:32 |
|