FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Sobrescribir un evento y ejecutar también el que estaba previamente
Hola
En un TFrame estoy creando una especie de navegador (TNavegator) de tablas que funcione con campos TEdit (en vez de TDBEdit). Una de las propiedades es DataSource (que guardo en FDataSource). Esta propiedad se asigna a mano antes de utilizar el navegador, de manera que apunte a un TDataSource ya existente (bien en un TDataModule o bien en la misma ficha donde esté el TFrame). Mi problema viene con el evento OnStateChange. En mi clase navegador sobrescrivo este envento con uno propio mío, ya que me interesa que cada vez que haya un cambio en State se ejecute un determinado código, pero: si (en el TDataSource original) había otro OnStateChange asignado previamente, ¿cómo hago para ejecutar el que ya estaba antes y después el mío? Saludos Paco Ruiz |
#2
|
||||
|
||||
Espero que sea esto lo que necesites...
Espero me haya hecho entender y que además de que sea lo que necesites, te sirva .
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ |
#3
|
||||
|
||||
Cita:
Luego cuando ejecutes el tuyo deberás hacer:
__________________
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
|
|||
|
|||
Cita:
El único detalle que me queda es cómo declaro la variable que tú llamas OldActiveDataSet. La otra (_OnActiveDataSet) es el nombre del procedimiento que tengo. |
#5
|
|||
|
|||
Gracias por tu respuesta jhonny, pero te limitas a hacer lo mismo que yo, sobrescribes el evento y "pasas" del que pudiera estar asignado antes.
Es más, si originariamente no hubiera ninguno asignado, tú tampoco le asignas ahora otro nuevo (peor aún que lo que yo hacía). |
#6
|
||||
|
||||
Cita:
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ |
#7
|
||||
|
||||
Cita:
Para la declaración puedes coger de muestra la cabecera del evento que estás redeclarando; El procedimiento debe tener los mismos parámetros para que puedes asignarlo. Por ejemplo si estás "sobreescribiendo" el evento OnDataChange (por decir uno) que está definido así:
Pues la definición de tu procedimiento _MyOnDataChange/OldDataChange será:
__________________
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. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Como ejecutar un procedimiento en mis forms mostrados, cuando ocurra un evento?? | jcapitan | OOP | 5 | 21-06-2007 18:16:56 |
Como ejecutar un evento antes de mostrar un form | hperez | Varios | 5 | 18-05-2007 07:12:25 |
Ejecutar Evento Onclick con un Enter en un TreeView | cesar_picazo | Varios | 1 | 20-09-2004 17:59:17 |
Error de units de Zeos previamente compiladas | nefy | Conexión con bases de datos | 3 | 12-06-2004 01:08:31 |
ir a un registro guardado previamente | pepe2000 | Tablas planas | 7 | 14-01-2004 11:35:19 |
|