FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Modificando el "constructor Create" del Form
Buenas,
Ultimamente he tenido que modifificar el constructor de los formularios de mi aplicación para agregar uno o más parámetros que me permiten "personalizar" en tiempo de ejecución los formularios de mi aplicación. Algo tan simple como cambiar el caption, ocultar componentes, seleccionar las tablas a usar y eso. Normalmente uso un código así:
Donde: IdFormulario me dice el archivo a usar TComponent(Sender).tag es el tag de los botones incluir/modificar/Borrar y CampoClave es el valor del campo clave (index) del registro a usar Con esa estructura me ahorro programar independientemente una acción para cada una de las funciones disponibles. Asigno un Tag a cada boton y/o Acción y enlazo el OnExecute al código anterior. Para que todo funcione tengo que sobreescribir el Constructor del formulario generamente algo así:
Por supuesto la primera línea del código del metodo es:
Mi duda es si debo usar Virtual u Overrride (o algún otro modificador) para asegurarme de que la herencia del constructor Create sea la correcta ¿? Cambio la pregunta: ¿ Esa forma de trabajar es Correcta en OOP ? Gracias
__________________
Sitrico |
#2
|
||||
|
||||
La unica diferencia a la manera como yo lo trabajo(no se si e la correcta) es q en lugar de virtual al momento de declararlolo coloco como override, de resto todo igual
__________________
...Yo naci en esta ribera del arauca vibr@d0r Soy hermano de la espuma, de la garza, de la rosa y del sol... Viva Venezuela |
#3
|
||||
|
||||
Cita:
En cuanto a virtual, lo que indicas es que ese método puede ser sobreescrito (utilizando override) en las clases heredadas de la actual. En principio en tu constructor no puedes utilizar override puesto que la clase padre es TForm (lo supongo pq no dices lo contrario) y son diferentes parámetros (creo que el compilador se quejará si intentas hacerlo...); Sí puedes utilizar Virtual (si lo deseas), y lo que estás diciendo es que en posibles clases heredadas se podrá volver a redefinir el create (si no estás pensando en heredare nada es irrelevante).
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
|
|