FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Problema al momento de crear objetos
Bueno, mas que una duda necesito que me tiren ideas para la solucion optima de un problema. El tema es el siguiente. En mi proyecto manejo una clase por tabla de BD por correspondencia de operaciones con los de la BD.Los metodos son por lo gral. "overright" heredados de una clase base para aprovecharlos en la herencia visual.
Supongamos el metodo InsertarRegistro override ; La idea es aprovechar al maximo el polimorfismo de las clases en la herencia visual, para ello hago lo siguiente: (a modo de ej. resumido) Formulario Base : GetDatos es puntual para cada clase y no lo puedo meter adentro del For generico. El problema es que recien hay es donde se los valores que le tengo que pasar a la funcion GetDatos dado que depende de lo cargado por el usuario en la grilla. Como solucion estoy desaprovechando la potencia del polimorfismo y estoy replicado codigo cada vez que me encuentro con una grilla. Espero no haber sido demasiado confuso en mi explicacion, pero es un problema muy puntual. Ustedes como resolverian esto?? Muchas gracias por su tiempo. Última edición por Neftali [Germán.Estévez] fecha: 02-11-2005 a las 09:59:50. Razón: Eliminar líneas largas, para mejorar la lectura... |
#2
|
||||
|
||||
Cita:
Cita:
Cuando llames al formulario de Grid, como tú bien dices no puedes hacer referencia a las clases THijo1, THijo2,... Lo que debes hacer es pasar la referencia a la Clase:
De ésta forma en ese formulario puedes ejecutar la siguiente línea:
Espero haberme explicado bien.
__________________
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. Última edición por Neftali [Germán.Estévez] fecha: 30-05-2007 a las 14:17:44. |
#3
|
||||
|
||||
en LLAMADA2 tenías puesto THijo1, se deduce que es un error de copiar y pegar. Por supuesto DANY lo entenderá como está. Para futuros foristas, se aclara y listo.
Por cierto, voy a patentar la frase "copy and paste" y sus traducciones, voy a hacerme rico sentado en mi sofá . saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#4
|
||||
|
||||
Cita:
NOTA: Lo edito en el mensaje inicial, por si alguien Copia el texto de ahí. ...Lepe, apuntalo(1) a mi lista, cuando llegue a 1.000.00 EUR te mando el cheque.
__________________
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. |
#5
|
|||
|
|||
Dany:
A ese problema se me ocurre que lo podriamos resolver de la siguiente manera: En la clase Hija definimos atributo por ejemplo DetalleHijo que es un array de objetos de tipo TDetalleHijo, tambien podriamos definirlo de tipo TObjectList, pero para que el ejemplo sea mas claro lo vamos a hacer de la primera forma. Luego en el Formulario Descendiente hacemos lo sigueinte: FORMULARIOS DESCENDIENTES procedure TfNuevoHijo.btnGrabarClick(Sender: TObject); var RegistroHijo : THijo; Begin RegistroHijo := THijo (Registro); //Validaciones puntuales etc. RegistroHijo.GetDatos ( chkActivo.Checked, edDescripcion.Text , etc., Grilla.RowCount-1) ; //Grilla.RowCount es la cantidad de Hijos a crear en RegistroHijo.DetalleHijo // Tomamos los Datos de DetalleHijo for I := 0 to High(RegistroHijo.DetalleHijo) do RegistroHijo.DetalleHijo[i].GetDatos(Grilla.Cells[0, I+1], Grilla.Cells[1, I+1], etc) inherited;//ACA GRABA EN LA TABLA CORRECTA DE ACUERDO AL POLIMORFISMO, en este caso, el metodo InsertarRegistro de THijo se encarga de insertar los registros del array DetalleHijo End; Bueno, espero que al menos se aproxime en algo a lo que queres hacer. Saludos y cariños a la Flia!
__________________
Luciano DG |
#6
|
||||
|
||||
Revisa éste mensaje sobre la utilización de TAG's [ delphi ]...[ /delphi ]
__________________
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. |
|
|
|