Iniciar Sesión

Ver la Versión Completa : [Sintaxis] Eventos entre Formularios


Recato53
21 de julio de 2016, 20:19
Buenas tardes.

Tengo el siguiente problema y no consigo solucionar.

En un programa PRG1.dll hay una una tabla de procesos, que ejecutan otros programas PRG2.dll, PRG3.dll, ......, mediante CallForm.

La selección de un proceso de la tabla se realiza con dobleclick o intro.
Esto se realiza correctamente.

Si el programa PRG2.dll finaliza con INTRO, cuando regresa al PRG1.dll devuelve el valor INTRO, y se vuelve a repetir el proceso.

Como puedo INICIALIZAR los valores de POW-KEY-RETURN, POW-KEY-ESCAPE, POW-ARG-KEYCODE, cuando vuelve desde PRG2.dll a PRG1.dll o alguna solución alternativa.

Gracias por vuestra colaboración.

Kuk
22 de julio de 2016, 09:00
Recato53, ¿en qué control tienes la lista de los procesos, es un ListView?

¿Has intentado poner:


INVOKE POW-SELF "ThruEvents"


Justo después del "CallForm" en el Form llamante?

Recato53
22 de julio de 2016, 13:06
Recato53, ¿en qué control tienes la lista de los procesos, es un ListView?

¿Has intentado poner:


INVOKE POW-SELF "ThruEvents"


Justo después del "CallForm" en el Form llamante?

Estoy usando el control TableControl.
He probado "ThruEvents" y no inicializa los valores de POW-KEY-RETURN, POW-KEY-ESCAPE, POW-ARG-KEYCODE.

Un saludo.

Kuk
22 de julio de 2016, 13:38
Recato53, puedes intentar hacer lo siguiente:

Defines 1 variable buleana de nivel 88 por ejemplo GLB-FLAG, en el evento Click tel Table, preguntas con un IF antes si la variable está a SI entonces abres el Form:


01 GLB-FLAG PIC X VALUE "S".
88 GLB-FLAG-SI VALUE "S".
88 GLB-FLAG-NO VALUE "N".
...

IF GLB-FLAG-SI
SET GLB-FLAG-NO TO TRUE

INVOKE POW-SELF "CallForm" ...
INVOKE POW-SELF "ThruEvents"

SET GLB-FLAG-SI TO TRUE
END-IF