Progress - Volver a ventana padre

 
Vista:

Volver a ventana padre

Publicado por Marietta (56 intervenciones) el 17/02/2011 18:39:54
Hola, pasa algo que no entiendo, en resumen cuando se sale de una ventana hija debe cerrarse y volver a la ventana que la llamo, son ventanas del tipo window ambas, sin embargo el apply "CLose":u .... no parece estar funcionando la ventana se cuelga y no vuelve a la ventana padre se cuelga... alguien sabe como forzar que se cierre la ventana hija y retome el contro la ventana padre?... me harian un gran favor... yo seguire probando y buscado... de ante manos muchas gracias....
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Volver a ventana padre

Publicado por Richard (18 intervenciones) el 22/02/2011 15:46:28
La ventana hija no se cierra o se cierra y no regresa el control a la ventana padre?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Volver a ventana padre

Publicado por marietta (56 intervenciones) el 23/02/2011 13:49:41
gracias por responder, pero ya solucionamos el problema, que enrealidad eran dos. :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Volver a ventana padre

Publicado por DparteD (129 intervenciones) el 27/04/2011 11:51:15
Cuando se expone un problema en un foro, para que te ayuden y lo haces y lo hacen con mucha frecuencia, si uno mismo encuentra la solución al problema expuesto, sería de buen gusto y educación, que igual que se "pidio arnica" por tener un problema, se expusiese la solución encontrada.
Muchas grácias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Volver a ventana padre

Publicado por Marietta (56 intervenciones) el 02/06/2011 19:07:04
OK, con más tiempo les escribo lo que pasaba y las soluciones para que quede entendible a la rapida no se entiende... y no te enojes :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Volver a ventana padre

Publicado por Marietta (56 intervenciones) el 22/07/2011 19:21:20
Ahora si con tiempo .

1- no volvia a la ventana padre y se colgaba.
en la ventana padre teniamos esto:
{&WINDOW-NAME}:SENSITIVE = FALSE.
RUN nombre_ ventana /* (PARAMETROS SI LOS HAY) */
{&WINDOW-NAME}:SENSITIVE = TRUE.

Solución:
en la ventana que llama (ventana padre), colocamos en donde se hace la llamada a la ventana hija lo siguiente:
{&WINDOW-NAME}:SENSITIVE = FALSE.
RUN nombre_ ventana (INPUT CURRENT-WINDOW). /*osea le sacamos una linea*/

en la ventana hija en Definiciones recibimos el parametro como sigue:
DEFINE INPUT PARAMETER Hwinpadre AS HANDLE. /*le ponen el nombre que quieran a su variable nosotros le pusimos Hwinpadre*/

en el Main Block (de la ventana hija) aparece codigo
ON CLOSE OF THIS-PROCEDURE
/* RUN disable_UI. */ /*comentamos el original */
RUN deshabilita. /*le agregamos este procedimiento que es copia del original para poder agregarle el codigo que queriamos, ustedes le dan el nombre que quieran al procedimiento*/

al procedimiento (deshabilita) se le agrego una linea:
/*------------------------------------------------------------------------------
Purpose: DISABLE the User Interface
Parameters: <none>
Notes: Here we clean-up the user-interface by deleting
dynamic widgets we have created and/or hide
frames. This procedure is usually called when
we are ready to "clean-up" after running.
------------------------------------------------------------------------------*/

Hwinpadre:SENSITIVE = TRUE. /*esta línea agregamos, lo demas no lo tocamos*/

/* Delete the WINDOW we created */
IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(C-Win)
THEN DELETE WIDGET C-Win.
IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.

END PROCEDURE.

2- al mismo tiempo necesitabamos salir de un procedimiento a la ventana padre si no se cumplia cierto criterio.
nom_procedimiento
DO:
.
.
.
if xcosa
then do:
APPLY "CLOSE":U TO THIS-PROCEDURE.
RETURN NO-APPLY.
end.
.
.
END.

lo cambiamos por :
nom_procedimiento
DO:
.
.
.
if xcosa
then do:
RETURN "no". /*le pueden colocar otra palabra en vez de no*/
end.
.
.
END.

y por ultimo en el Main Block de dicha ventana (hija) se agrego el codigo:
IF RETURN-VALUE = "no"
THEN DO:
APPLY "CLOSE":U TO THIS-PROCEDURE.
RETURN NO-APPLY.
END.
:), si alguien tiene este problema ojala le sirva lo anterior :) .

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Volver a ventana padre

Publicado por Rayne Flores (3 intervenciones) el 14/10/2013 20:30:54
Solo es necesario que a la ventana hija le agregues el siguiente codigo:

ON WINDOW-CLOSE OF {&WINDOW-NAME} DO:

APPLY "CLOSE":U TO THIS-PROCEDURE.
RETURN NO-APPLY.

END.

si tienes QUIT, quitalo de ese bloque de codigo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar