Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Herencia visual en formularios... (https://www.clubdelphi.com/foros/showthread.php?t=55485)

diegofhernando 17-04-2008 22:27:16

Herencia visual en formularios...
 
Q tal comunidad... luego de pasarme por la herramienta de busqueda del foro y de no encontrar respuesta a lo q necesitaba, paso a dejar mi inquietud a ver si me pueden dar una mano.

Bien el tema es q deseo valerme de un form base en donde poner las rutinitas de manejo de datos y algunas cosillas mas y de dicho form heredar los demas forms de mi nuevo proyecto, ya he hecho uso del repositorio de objetos pero me encuentro con la limitante q al hacer modificaciones al formulario base, estas no se reflejan en los forms ya insertados, quisiera saber si es posible hacer esto, por ejemplo si en algun momento modifico algo de codigo en el form base, no tener q hacer estas modificaciones manualmente en los demas.

Actualmente trabajo con Delphi 2007.

Espero no haberme hecho un lio con mi explicacion. :D

Como siempre les agradezco enormemente el tiempo q se tomen en responder.

Salu2 :cool:

dec 17-04-2008 22:35:53

Hola,

No sé si lo que necesitarías sería mejor un "TDataModule", que viene a ser un formulario para componentes "no visuales", precisamente, que, tengan que ver con bases de datos, aunque yo los he usado también para otros menesteres, porque son muy prácticos.

En todo caso es posible que un formulario herede de otro, pero, fíjate bien, esta es la palabra mágica: "inherited". Cualquier formulario de tu proyecto puede heredarse. Para ello hay que ir al menú "File" y elegir "New" y, si no me equivoco, la pestaña "Project". En todo caso tendrás que elegir desde "ahí" el formulario del que quieres heredar.

Insisto en lo de "heredar", porque, si no "marcas" la casilla apropiada, puede que simplemente "copies" el formulario, de tal forma que, los cambios que hagas en el primer formulario, no se reflejen en los otros, precisamente, porque son copias del mismo, copias que se mantienen por separado.

Tienes que asegurarte de que tu nuevo formulario "hereda" del que quieras. De este modo, efectivamente, los cambios que hagas en el formulario "base" se verán reflejados en los formularios que hereden del mismo. Y ahora tengo la sensación de no haberte aclarado mucho... a ver si algún otro compañero puede guiarte mejor. ;)

eduarcol 17-04-2008 22:56:29

mejor no lo pudistes haber explicado Dec, la clave esta en INHERITED

diegofhernando 18-04-2008 03:16:55

Muchas gracias por sus respuestas, precisamente la clave estaba en "inheritable" :D

Salu2:cool:

Neftali [Germán.Estévez] 18-04-2008 10:54:05

Aparte de lo comentado, añadir un pequeño detalle. A veces en herencia visual y utilizando algunos componentes (frames y componentes que a su vez encapsulan otros) los cambios visuales en el "padre" no acaban de reflejarse directamente en los hijos.
Para "forzar" a ese refresco/actualización (y cuidado porque no siempre interesa y pueden perderse cosas) existe una opción "discreta" en el menu contextual que aparece al pulsar click derecho sobre el form "hijo" llamada Revert to inherited.

Imagen


La franja horaria es GMT +2. Ahora son las 08:46:42.

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