API SLEEP

ESPEGAL
10 de Diciembre del 2005
mvallejos me aclaro una pregunta sobre crystal reports indicandome el uso de la API SLeep para un problema que tenia. Una vez arreglado, el proceso detiene el bucle y mantiene en pantalla el report pero no puedo mover el report, p.e. subir el informe hacia arriba para ver el total. ¿me podeis indicar si se puede y que hay que hacer?

mvallejos
10 de Diciembre del 2005
Claro, el sleep es síncrono, es decir, hasta que no termina el retardo, los otros procesos se detienen.
De modo entonces, que deberás fabricarte tu propia función para retardo.
Podrías usar la función Timer, que te retorna la cantidad de segundos trasncurridos desde las 0 horas.

Sub Retardo (Segundos as Integer)
Dim Inicio as Long
Dim Fin as LOng
Inicio = Timer
Do While Fin - Inicio < Segundos
Fin = Timer
DoEvents
Loop
End Sub

Ese bucle se ejecuta mientras la diferencia entre fin e inicio sea menor al parámetro Segundos.
Doevents hace que se atiendan los eventos externos al bucle, lo que te dejaría navegar el reporte.

Otra alternativa la podés encontrar aquí

www.elguille.info

El la sección APIs hay un ejemplo que se llama Uso de GetTicksCount (o algo así). Esa, si mal no recuerdo, era una variante para generar retardos asíncronos.

Saludos