Hola a todos, se me ha dado el siguiente caso:
Tengo un timer que cada minuto hace una consulta a una tabla para ver si hay
registros nuevos (mensajes), pero ha coincidido que mientras recuperaba
datos de una tabla para cargarlos en un browse tambien se ha disparado el
timer dando un error.
mi pregunta es si es posible saber si el TMySQLDataSource esta ejecutando
alguna sentencia en un momento dado, para que no coincida con la del timer.
Gracias de antemano
Javier Morales
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
pregunta TMySQLDataSource
-
- Mensajes: 8
- Registrado: Mar Mar 04, 2008 10:07 am
-
- Mensajes: 620
- Registrado: Jue Mar 23, 2006 2:39 am
pregunta TMySQLDataSource
Javier:
La forma correcta de usar un timer en tu caso sería "suspender" el timer
mientras esta ejecutando el proceso, sería algo como esto, en el
evento que dispara el metodo OnTimer:
Method Ejecutar(oSender)
oSender:lEnabled := .F. // suspendes el timer temporalmente
<aqui haces todo lo que quieras hacer>
oSender:lEnabled := .T. // vuelves a activar el timer
RETURN
Saludos
Rene Flores
http://www.ciber-tec.com
> Tengo un timer que cada minuto hace una consulta a una tabla para ver si hay
> registros nuevos (mensajes), pero ha coincidido que mientras recuperaba
> datos de una tabla para cargarlos en un browse tambien se ha disparado el
> timer dando un error.
> mi pregunta es si es posible saber si el TMySQLDataSource esta ejecutando
> alguna sentencia en un momento dado, para que no coincida con la del timer.
>
> Gracias de antemano
> Javier Morales
>
>
La forma correcta de usar un timer en tu caso sería "suspender" el timer
mientras esta ejecutando el proceso, sería algo como esto, en el
evento que dispara el metodo OnTimer:
Method Ejecutar(oSender)
oSender:lEnabled := .F. // suspendes el timer temporalmente
<aqui haces todo lo que quieras hacer>
oSender:lEnabled := .T. // vuelves a activar el timer
RETURN
Saludos
Rene Flores
http://www.ciber-tec.com
> Tengo un timer que cada minuto hace una consulta a una tabla para ver si hay
> registros nuevos (mensajes), pero ha coincidido que mientras recuperaba
> datos de una tabla para cargarlos en un browse tambien se ha disparado el
> timer dando un error.
> mi pregunta es si es posible saber si el TMySQLDataSource esta ejecutando
> alguna sentencia en un momento dado, para que no coincida con la del timer.
>
> Gracias de antemano
> Javier Morales
>
>
-
- Mensajes: 56
- Registrado: Jue Ene 08, 2009 5:40 pm
pregunta TMySQLDataSource
Disculpa si me equivoco,
Pero no podrias desactivar el timer mientras estas recolectando la
informacion y cuando termine de cargar, volver a activar el timer.
Algo asi hice en vb , tenia que recoger informacion de un punto de venta
externo, lo que hice fue crear una tabla semaforo, que me indicaba cuando
tenia que cargar informacion, logicamente, el semaforo indicaba cuando
estaba cargado , en proceso de llenado o vacio.
Esto me evitaba estar leyendo constantemente la tabla maestra y demorarme en
la consulta.
Espero te sirve, en caso contrario no dije nada.
FG
"Javier Morales" <jmorales@zsi.com.es> escribió en el mensaje
news:48989ff8$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Hola a todos, se me ha dado el siguiente caso:
>
> Tengo un timer que cada minuto hace una consulta a una tabla para ver si
> hay registros nuevos (mensajes), pero ha coincidido que mientras
> recuperaba datos de una tabla para cargarlos en un browse tambien se ha
> disparado el timer dando un error.
> mi pregunta es si es posible saber si el TMySQLDataSource esta ejecutando
> alguna sentencia en un momento dado, para que no coincida con la del
> timer.
>
> Gracias de antemano
> Javier Morales
>
Pero no podrias desactivar el timer mientras estas recolectando la
informacion y cuando termine de cargar, volver a activar el timer.
Algo asi hice en vb , tenia que recoger informacion de un punto de venta
externo, lo que hice fue crear una tabla semaforo, que me indicaba cuando
tenia que cargar informacion, logicamente, el semaforo indicaba cuando
estaba cargado , en proceso de llenado o vacio.
Esto me evitaba estar leyendo constantemente la tabla maestra y demorarme en
la consulta.
Espero te sirve, en caso contrario no dije nada.
FG
"Javier Morales" <jmorales@zsi.com.es> escribió en el mensaje
news:48989ff8$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Hola a todos, se me ha dado el siguiente caso:
>
> Tengo un timer que cada minuto hace una consulta a una tabla para ver si
> hay registros nuevos (mensajes), pero ha coincidido que mientras
> recuperaba datos de una tabla para cargarlos en un browse tambien se ha
> disparado el timer dando un error.
> mi pregunta es si es posible saber si el TMySQLDataSource esta ejecutando
> alguna sentencia en un momento dado, para que no coincida con la del
> timer.
>
> Gracias de antemano
> Javier Morales
>