Me respondo a mí mismo: lo he resuelto añadiendo el mensaje de estatus:
event refresh
Do while 1=1
&Variable que sale en la pantalla= 'Loquesea'
msg('Esperando un rato....' ,status)
call ('programa de espera unos segundos')
EndDo
EndEvent
Si artech hiciera que el comando sleep funcionara en RPG, ni siquiera haría falta llamar a un programa externo (que hace eso mismo, puesto que el iSeries tiene la función CL que lo hace de forma nativa)... igual se podría crear una extensión para esto, o algo así...
El 16/01/2012 18:27, Jesus Busquets escribió:
Tengo el siguiente requerimiento: una pantalla tiene que ir mostrando información cada cierto tiempo, por medio de un bucle en el programa. Este bucle ya contiene la instrucción que hace esperar el programa hasta que se produce un evento (en concreto, se vale de las colas de datos para esperar que llegue el evento siguiente, hasta llegar a una condición en que se sale del bucle y también del programa). Pero no consigo encontrar donde poner el bucle infinito para que me me llegue a mostrar la pantalla, es decir, si hago, por ejemplo:
event refresh
Do while 1=1
&Variable que sale en la pantalla= 'Loquesea'
call ('programa de espera unos segundos')
EndDo
EndEvent
Se queda dando vueltas, pero no muestra la pantalla.
Lo curioso es que en una pureba sí que funcionó así (bueno, el programa real, no este ejemplo simplificado) , y al día siguiente "sin tocar nada", ya no funcionaba. Evidentemente, algo cambió, pero no era en el código del programa, y, evidentemente también, hay alguna forma de hacerlo funcionar, pero no consigo encontrarlo.
Pensándolo bien... esto que busco es en realidad algo que ya debe haberse planteado con anterioridad, puesto que si se pudiera hacer, se tendría la posibilidad de generar una barra de progreso...y creo que eso, en rpg no lo he visto.
--
Jesús Busquets
GRESPANIA, S.A.
Este mensaje se dirige exclusivamente a su destinatario y puede contener información privilegiada o confidencial. Si no es Vd. el destinatario indicado, queda notificado de que la utilización, divulgación y/o copia sin autorización está prohibida en virtud de la legislación vigente. Si ha recibido este mensaje por error, le rogamos que nos lo comunique inmediatamente por esta misma vía y proceda a su destrucción.
Jesús Busquets
GRESPANIA, S.A.
Este mensaje se dirige exclusivamente a su destinatario y puede contener información privilegiada o confidencial. Si no es Vd. el destinatario indicado, queda notificado de que la utilización, divulgación y/o copia sin autorización está prohibida en virtud de la legislación vigente. Si ha recibido este mensaje por error, le rogamos que nos lo comunique inmediatamente por esta misma vía y proceda a su destrucción.
0 Response to "Re: [as400-l] Pantalla en modo de refresco automático"
Publicar un comentario