Hola Juanra. (por cierto, creo que has sido bendecido con la salud eterna
¿no? o lo que es lo mismo ¿ahora eres autónomo no? , pues nada bienvenido)
Bien, vamos por partes, creo que no me explique bien:
1.- Están compiladas con RSTDSP(*YES) aunque con *NO actuan de igual manera.
2.- El problema es que cuando saca la 2ª ventana (3er programa) borra las
dos anteriores (en mi primer correo mande las imágenes) y solo consigo
evitarlo NO HACIENDO SETON LR en el programa 2º , Pero si hago esto, a
partir de la segunda vez que se visualiza la ventana del PGM 2 los datos que
se ven por detrás (los de la 1ª pantalla) SON LOS DEL PRIMER CICLO DE
EJECUCION, si, si, aunque parezca mentira. Como ves, son 4 sentencias, os
las envio y os invito a que lo comprobéis. Es realmente curioso. (Esta claro
que mientras ejecuto pgm2 y pgm3 el pgm1 esta parado y no puede refrescar
los datos, pero la segunda vez que paso por PGM1,2 y 3 la hora y/o los datos
que se ven por detrás de la ventana NO CORRESPONDEN A ESTE CICLO SINO AL
PRIMER CICLO Y puedo seguir pasando por las 3 que los datos pertenecen
siempre ala primera vez que mostró P1. ¿no se si mas claro o mas oscuro?
3.- Con el WRITE tampoco funciona:
EXFMT P1
CALL PGM2
WRITE P1
CALL PGM3 ---> Cuando este programa muestra su ventana se han perdido las 2
anteriores (CON Y SIN WRITE) (CON Y SIN RSTDSP *YES) (CON Y SIN ASSUME)
Jose: ASSUME no me lo admite en un registro de Ventana, me da error de
compilación, poniendolo en otro registro y utilizando el Keep tampoco
consigo nada
Pedro: Lo tuyo lo tengo que estudiar mas despacio.
Gracias a todos por vuestra atención
Aunque son 3 sentencias os adjunto los ficheros con los PGM para el que
quiera verlo en detalle.
Saludos.
Susana
_____
De: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] En nombre de Juan Ramón
Garcia
Enviado el: jueves, 10 de julio de 2008 11:52
Para: forum.help400
Asunto: Re: Ventanas solapadas
Hola Susana:
No he contestado antes porque ya te habian facilitado la respuesta correcta,
efectivamente hay que compilar con RSTDSP(*YES) pero eso lo que realmente
hace es lo que te ocurre, guarda una imagen en memoria de la pantalla que
tenía antes y la mantiene mientras vas solapando ventanas.
Ten en cuenta que el primer programa queda en espera cuando llamas al
segundo por lo que la hora no puede actualizarse.
Tengo muchos programas hechos de esta forma, la solucion que encontre fue al
volver al primer programa, desde otros que visualizan ventanas, forzar un
WRITE de la pantalla para "refrescar" la informacion antes de volver a
llamar a otro programa que solape una ventana.
Es chapucero pero funciona.
Un saludo.
Juanra
ChapuciSaurio
----- Original Message -----
From: FORO <mailto:[EMAIL PROTECTED]>
To: 'forum.help400' <mailto:[email protected]>
Sent: Thursday, July 10, 2008 11:31 AM
Subject: RE: Ventanas solapadas
Gracias a todos por contestar.
Marti, Jose, Rafa: Ya están compiladas con RSTDSP *YES , Aunque si las
compilas con *NO, tampoco se aprecia ninguna diferencia.
Manuel: Con tu propuesta es curioso lo que ocurre, el primer ciclo de
ejecución FUNCIONA PERFECTAMENTE, pero si os fijaís en la codificación de
los 3 programas, son sencillamente un bucle DO, pues bien, en el segundo
ciclo, NO SE VISUALIZAN LAS PANTALLAS DEL PGMB Y PGMC, he estado mirando con
el debug y el problema es que NO FINALIZA EL PROGRAMA, es decir: hace el
RETURN pero no la sentencia SETON LR por lo que el programa no finaliza, y
la siguiente vez que es invocado, encuentra el KC encendido y no entra en el
bucle DO he tenido que hacer un RCLRSC para que funcionar de nuevo. De
hecho la curiosidad no termina hay, si modifico el PGMB para que no este
condicionado de esa manera
*************** Principio de datos *****************
FPGM02FM CF E WORKSTN
C EXFMTFMT01
C KC MOVEL*ON *INLR
C RETRN
****************** Fin de datos ********************
SI QUE SE VE
pero ¡ESTO NO OS LO VAIS A CREER!
La imagen que se ve detrás del PGMB es el recuerdo de la primera vez que
mostró la pantalla LO SE POR LA HORA QUE SACO EN LA ESQUINA SUPERIOR DERECHA
DE CADA PANTLLA, es como si se lo guardara en memoria NO SE, ES MUY RARO. Si
esto lo llevo a explotación, lo que se ve siempre en la pantalla del PGMA
son los datos del primer registro que visualicé, Si es un mantenimiento de
clientes, al sacar la pantalla del PGMB SIEMPRE SE VEN EN EL PGMA los datos
del primer cliente al que llame??????¿¿¿¿¿¿¿¿¿¿¿¿¿
En fin, algún gallego en el foro con Meigas conocidas.
¿Cómo es posible que una chorrada tan gorda me este dando tantos dolores de
cabeza?
Un Saludo
Susana
JaquecoSauria
P.D. Jorge: me olvidaba de ti, con el OVERLAY tampoco consigo nada, por lo
menos aparentemente. Tambien gracias a ti
FPGM01FM CF E WORKSTN
C *INKC DOWEQ*OFF
C EXFMTFMT01 | |
C KE CALL 'PGM02'
C********* WRITEFMT01
C KE CALL 'PGM03'
C ENDDO
C MOVEL*ON *INLR
C RETRN
A*%%TS SD 20080709 191314 QPGMR REL-V4R2M0 5769-PW1
A*
A************************************************************
A*%%EC
A DSPSIZ(24 80 *DS3)
A CF03
A CF12
A CF05
A R FMT01
A* OVERLAY
A*%%TS SD 20080709 191046 QPGMR REL-V4R2M0 5769-PW1
A 2 72TIME
A 8 3'primer programa de la cadena. puls-
A e f5 para visualizar'
A 9 3'el segundo y tercer programa'
A 11 3'pulse F3 para cancelar'
A R NADA ASSUME
A 3 70' '
FPGM02FM CF E WORKSTN
C EXFMTFMT01 | |
C MOVEL*ON *INLR
C RETRN
A*%%TS SD 20080709 191359 QPGMR REL-V4R2M0 5769-PW1
A*%%EC
A DSPSIZ(24 80 *DS3)
A CF03
A CF05
A R FMT01
A*%%TS SD 20080709 191359 QPGMR REL-V4R2M0 5769-PW1
A OVERLAY
A WINDOW(7 23 14 50)
A 2 43TIME
A 6 3'Segundo programa de la cadena'
A 7 3'Pullse F3=para finalizar'
A R NADA ASSUME
A 3 70' '
FPGM03FM CF E WORKSTN
C EXFMTFMT01 | |
C MOVEL*ON *INLR
C RETRN
A*%%TS SD 20080710 124858 QPGMR REL-V4R2M0 5769-PW1
A*%%EC
A DSPSIZ(24 80 *DS3)
A CF05
A CF03
A R FMT01 ASSUME
A*%%TS SD 20080710 124858 QPGMR REL-V4R2M0 5769-PW1
A KEEP
A WINDOW(11 10 11 50)
A 1 43TIME
A 6 3'Ultimo programa de la cadena'
A 7 3'Ha borrado el primer formato de pa-
A ntalla'
A 9 3'Pulse F3 para salir'
A R NADA ASSUME
A 3 70' '
__________________________________________________
Forum.HELP400 es un servicio m&#225;s de NEWS/400.
&#169; Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________
Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400