Cobol Foro

Cobol Foro (https://www.cobolforo.es/index.php)
-   PowerCOBOL (ActiveX, v4 - v11) (https://www.cobolforo.es/forumdisplay.php?f=9)
-   -   [Sintaxis] Eventos entre Formularios (https://www.cobolforo.es/showthread.php?t=441)

Recato53 21 de julio de 2016 20:19

Eventos entre Formularios
 
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:

Código COBOL:
  1.      INVOKE POW-SELF "ThruEvents"

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

Recato53 22 de julio de 2016 13:06

Cita:

Citación del post de Kuk (Mensaje 2201)
Recato53, ¿en qué control tienes la lista de los procesos, es un ListView?

¿Has intentado poner:

Código COBOL:
  1.      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:

Código COBOL:
  1.  01  GLB-FLAG                           PIC X VALUE "S".
  2.      88  GLB-FLAG-SI                          VALUE "S".
  3.      88  GLB-FLAG-NO                          VALUE "N".    
  4.  ...    
  5.      
  6.      IF  GLB-FLAG-SI    
  7.          SET GLB-FLAG-NO TO TRUE
  8.          
  9.          INVOKE POW-SELF "CallForm" ...
  10.          INVOKE POW-SELF "ThruEvents"
  11.          
  12.          SET GLB-FLAG-SI TO TRUE
  13.      END-IF


La franja horaria es GMT +2. Ahora son las 00:26.

Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.