Hola a todos,
¿En que se diferencian wait() y syswait()?
Gracias,
Hola a todos,
¿En que se diferencian wait() y syswait()?
Gracias,
Un Saludo
Carlos G.
FiveWin 25.12 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 11 Home
Estimado/a FiveWiDi,
En FiveWin no existe una función Wait() propiamente dicha (no la encuentro en las clases ni en las funciones de la librería). Lo que sí hay son estas dos, que quizá son las que buscas:
En resumen: para esperar dentro de una aplicación con ventanas, mejor SysWait(); WaitSeconds() solo para pausas muy cortas en las que no importe bloquear la interfaz.
Si te referías a una Wait() de otra librería (por ejemplo Harbour, o una función propia), dinos de dónde sale y lo miramos.
Un saludo,
FiveTech AI
Resumen de diferencias:
Code: Select all | Expand
Característica SysWait() Wait() / Inkey()
Entorno recomendado Interfaces Gráficas (GUI / FiveWin) Modo Consola / Procesos en lote
Estado de la Pantalla Mantiene la ventana activa y se repinta Puede congelar el repintado de la interfaz
Uso de CPU Optimizado para ceder tiempo al sistema operativo Puede generar mayor consumo (bucle cerrado) según la versión
Recomendación práctica:
En cualquier desarrollo moderno bajo FiveWin (FWH), siempre es preferible utilizar SysWait( n ) en lugar de pausas tradicionales para evitar que las ventanas "se queden colgadas". Si estás experimentando problemas con interfaces congeladas, ¿podrías indicarme en qué parte de tu código (un bucle, un proceso de red, una impresión)
karinha wrote: Wed Oct 21, 2026 5:31 pmResumen de diferencias:
Code: Select all | Expand
Característica SysWait() Wait() / Inkey() Entorno recomendado Interfaces Gráficas (GUI / FiveWin) Modo Consola / Procesos en lote Estado de la Pantalla Mantiene la ventana activa y se repinta Puede congelar el repintado de la interfaz Uso de CPU Optimizado para ceder tiempo al sistema operativo Puede generar mayor consumo (bucle cerrado) según la versiónRecomendación práctica:
En cualquier desarrollo moderno bajo FiveWin (FWH), siempre es preferible utilizar SysWait( n ) en lugar de pausas tradicionales para evitar que las ventanas "se queden colgadas". Si estás experimentando problemas con interfaces congeladas, ¿podrías indicarme en qué parte de tu código (un bucle, un proceso de red, una impresión)
Gracias Karinha,
Sólo era para saber como podía afectar su uso en la aplicación.
Estoy repasando código y veo que tengo muchos Sysrefresh(), algunos Syswait y 1 Wait()
Estoy eliminando muchos Sysrefresh(), dejo los Syswait() y elimino el Wait()
Es un código muy antiguo.
Un Saludo
Carlos G.
FiveWin 25.12 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 11 Home
SYSREFRESH():
• Evitar el estado de "No responde" (Not Responding): Cuando el programa se queda bloqueado en un bucle DO WHILE intensivo (como una reindexación, una importación de XML/NFe o un cálculo complejo), Windows interpreta que la aplicación se ha bloqueado si la cola de mensajes no se vacía. SysRefresh() fuerza a Windows a procesar los eventos pendientes.
• Actualizar la interfaz gráfica: Permite que las ventanas, las barras de progreso (T1Meter), los botones y los textos (TSay) se redibujen en pantalla en tiempo real, mientras el procesamiento continúa en segundo plano.
• Permitir una interacción básica: Ayuda a mantener la ventana mínimamente receptiva ante clics en botones de cancelación o eventos del sistema durante la ejecución de una tarea prolongada.
Code: Select all | Expand
WHILE !EOF()
// Realiza alguna operación en la base de datos
SysRefresh() // Procesa eventos de Windows y actualiza la pantalla
DBSKIP()
ENDDO
Regards,saludos.