Bueno, pues ahí va una chapuza mas J. Compila las pantallas son Share(*yes), las declaras en el resto de pgms y haz un write del formato de pantalla que te interese sólo para forzar la visualización. Igual tienes que usar la palabra Frcdta a nivel de registro. Claro que si haces Seton Lr igual te falla al estar el archivo cerrado, no lo he probado.
Suerte De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] En nombre de FORO Enviado el: jueves, 10 de julio de 2008 13:35 Para: 'forum.help400' Asunto: RE: Ventanas solapadas 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
__________________________________________________ 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

