Saben Necesito crear un objeto o un evento del tipo TIMER, es decir que se ejecute un programa cada determinado tiempo (Como el Timer de Visual Basic), estoy diseñando una aplicación de tipo DEMON, esta estará en el SYSTRAY y cada determinado tiempo deberá ir a la base de datos a ejecutar un query y traer un resultado estilo MSN Messanger. Alguien puede ayudarme.
1 respuesta
Respuesta de Antonio Garcia
1
1
Antonio Garcia, clipper todas sus versiones (manejo total) power builder todas...
Tu problema esta solucionado utilizando un par de llamadas al api de window, las funciones en materia son: Function Long SetTimer(Long hwnd, Long IdTimer, Long uTimeOut, Long tmpre) Library "user32.dll" Function Long KillTimer(Long hwnd, Long IdEvent) Library "user32.dll" La primera crea un timer para un objeto especifico, y la segunda por supuesto destruye al timer. Como usarlo: El ejemplo coloca el timer a un objeto tipo etiqueta (StaticText) al cual llamare reloj 1o. Añadir el evento TIMER al objeto reloj 2o. En el evento CONSTRUCTOR escribo las siguientes instrucciones. xDummy = KillTimer( HANDLE(THIS), 1) xDummy = SetTimer(Handle(THIS), 1, 1000, 0) Observamos entonces que lo primero que hago es llamar al killtimer ( por si acaso quedara colgado el evento "nunca se sabe") Luego arranca el timer haciendo mención al objeto por medio del handle, el parámetro 3 refiere a el tiempo de espera, cada 500 es medio segundo. 3o. En el evento añadido timer escribo THIS.text = STRING(NOW()) 4o. en el evento DESTRUCTOR escribo xDummy = KillTimer( HANDLE(THIS), 1) De esta manera el timer desaparece cuando el objeto es destruido Lo anterior como resultado pintara en una pantalla un reloj que actualizara su imagen cada segundo.