FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Evento comun para tablas
Saludos.. tengo muchas tablas y lo que quiero es tener un evento comun para todas ellas en el evento AfterPost, de forma que todas realicen la misma accion, que es FlushBuffers.
Me explico, en el avento AfterPost de Tabla1 tener Tabla1.FlushBufers, en el de Tabla2 tener Tabla2.FlushBuffers,..... pues en vez de tener que escribir todo esto
poder tener un procedure que le pueda asignar a todos los eventos Afterpost y realice esta acción. (Delphi6, Paradox) Gracias. |
#2
|
||||
|
||||
Hola, puedes crear un evento común y asignarlo en la creación del datamodulo a todos los componentes que requieras. En esa asignación, puedes validar que no tenga un evento asignado para evitar inconvenientes.
__________________
Buena caza y buen remar... http://mivaler.blogspot.com |
#3
|
||||
|
||||
Otra opción puede ser crear un derivado del componente TTable (TTableAF), con una propiedad AutoFlushBuffers, que por defecto tenga valor True.
Si la propiedad está a True, después del evento AfterPost, realizar el FlushBuffers. Sólo te queda cambiar en el .PAS y en .DFM las apariciones de TTable por TTableAF
__________________
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. |
#4
|
||||
|
||||
Es una buena opción.
__________________
Buena caza y buen remar... http://mivaler.blogspot.com |
#5
|
|||
|
|||
Muchas Gracias. Lo he implementado con la primera indicacion de movorack ... me ha parecido mas simple y lo mismo de efectiva.
|
#6
|
|||
|
|||
Como me gusta leer a los que saben…
Una consulta referente a este tema: Hace un tiempo descubrí (creo que aquí en el foro) un tipo de herencia (no recuerdo como lo llamaron) que consistía en definir la clase tal que así… TTable = class(Bde.DBTables.TTable). En el caso que nos ocupa, y si en todas mis unidades pongo en el uses mi unidad antes que la unidad Bde.DBTables… ¿ Serviría para no tener que modificar en todos los .pas y .dfm las apariciones de TTable por TTableAF ? ¿ Sería recomendable una solución de este tipo ? ¿Ventajas y/o inconvenientes? En principio no sería necesario el registro, y la propiedad AutoFlushBuffers debería ser publica en lugar de publicada |
#7
|
||||
|
||||
Se denominan Clases Interpuestas o Interpose Classes.
En este artículo de Ian Marteens se habla un poco de ellas, aunque es algo antiguo. Un saludo |
#8
|
||||
|
||||
Justo a eso me refería [movorack]. Gracias por la implementación. La pensé pero no tuve tiempo de plasmarla.
__________________
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. |
#9
|
|||
|
|||
Gracias [ElKurgan] por el enlace al artículo.
Después de su lectura me queda mucho más clara su utilización y veo que estaba equivocado en cuanto al orden de las unidades en el uses que propongo en mi respuesta anterior. Se remarca esto en el final del artículo. |
#10
|
||||
|
||||
Es verdad, no había caído en ello. Pero tiene su lógica, ya que todo lo "principal" lo hace la clase original, y solo el añadido es el de la clase interpuesta
Un saludo |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Filtro Sql en campo cómun a dos tablas | GINMARMENOR | SQL | 3 | 26-06-2018 23:29:23 |
Tablas relacionadas por una campo en comun | mjjj | SQL | 4 | 02-10-2008 01:03:14 |
Un Evento comun, distintas variables | FGarcia | Varios | 20 | 05-12-2007 06:03:52 |
Algo un poco fuera de lo comun | JerS | Impresión | 2 | 25-10-2005 19:05:28 |
¿Que tienen en comun las mujeres y los servidores web? | obiwuan | Humor | 0 | 04-05-2003 13:56:38 |
|