![]() |
Cómo desactivar el evento OnDataChange?
Hola !!
¿Cómo se hace para desactivar en un momento dado el evento OnDataChange de un DataSet? Resulta que estoy insertando registros y en el OnDataChange de mi DataSet tengo ciertas cosas que no quiero que se estén ejecutando hasta tanto no haya terminado de insertar todos mis registros. Inmediatamente, luego de haber terminado mi proceso de inserciones, si necesito que se active. Trabajo con D7 y dbExpress. Gracias por la ayuda que puedan darme. |
Puedes poner una "bandera" para indicar que en un momento dado no se debe ejecutar el evento:
Código:
var También puedes simplemente poner a nil el evento antes de las inserciones y reastaurarlo cuando termines: DataSet.OnChange := nil; ... DataSet.OnChange := DataSetChange; // Saludos |
Estuve probando la segunda opción y tengo problemas al compilar ...
Te cuento lo que hago: DataSource1.OnDataChange := nil; // aquí no tengo problemas ... ... // cuando quiero volver a activar el evento me salta un error de compilación DataSource1.OnDataChange := DataSource1.DataSetChange; ¿Cuál es mi error? Creo haber escrito lo que tu me dijiste ('DataSet.OnChange := DataSetChange'). Lo único que cambié es OnDataChange en lugar de OnChange. Probé varias alternativas pero sigue dándome error de compilación. Gracias por vuestro apoyo. |
Disculpa, me equivoqué y confundí DataSource con DataSet.
De cualquier forma lo que debes hacer es asignar a DataSource.OnDataChange el evento que durante el diseño le haya asignado, que posiblemente sea DataSourceChange. // Saludos |
Espectacular !!! Funcionó !!!
Mil gracias por tu ayuda. Bendiciones para ti. |
La franja horaria es GMT +2. Ahora son las 18:08:29. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi