Ejecución de código en un timer alterando bases de datos

Post Reply
Verhoven
Posts: 435
Joined: Sun Oct 09, 2005 7:23 pm

Ejecución de código en un timer alterando bases de datos

Post by Verhoven »

Necesito ejecutar unos cálculos sobre unas bases de datos dentro de un timer.

Esto modifica el órden de los registros y las tablas en uso en ese momento, por lo que si el usuario estaba haciendo otra cosa en ocasiones me da errores por haber cambiado las posiciones del registro en las tablas.

He pensado que una solución podría ser usar un hilo distinto pero no se como trabajar con hilos ni por donde empezar con esto.

O bien, crear un exe para ese proceso del timer y que el programa principal lo mande ejecutar al arrancar y que lo haga minimazado, de modo que para el usuario ese proceso del timer sea transparente y solo vea el del programa principal.

¿Cual piensan que sería la mejor solución?.
User avatar
Biel EA6DD
Posts: 680
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca
Contact:

Re: Ejecución de código en un timer alterando bases de datos

Post by Biel EA6DD »

Abres la tabla en modo compartidos dos veces, con alias distintos. Cada proceso utiliza un alias, y no afecta el hecho de que muevas punteros pues cada alias maneja los propios.
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
User avatar
Silvio.Falconi
Posts: 4956
Joined: Thu Oct 18, 2012 7:17 pm

Re: Ejecución de código en un timer alterando bases de datos

Post by Silvio.Falconi »

sample :

DEFINE TIMER ::oOutLic INTERVAL 20000 OF ::oWndMain ;
ACTION ( ::nTimeLic ++, if ( ::nTimeLic == 4,;
( MsgInfo( "any text" ),Pstart()),))

ACTIVATE TIMER ::oOutLic



Function Pstart()
//here your function to alterate database
return nil
I use : FiveWin for Harbour August 2020 (Revision) - Harbour 3.2.0dev (r1712141320) - Bcc7.30 - xMate ver. 1.15.3 - PellesC
Post Reply