Ver Mensaje Individual
  #4
Antiguo 23 de agosto de 2017, 08:43
Kuk
Administrador
Última Actividad 03.10.2026 00:00
Posts Posts: 2.500
Likes enviados Enviados: 1038
Likes recibidos Recibidos: 1207

Armando, no es la recursividad sino la multi-instancia. En realidad, si desde el principio establecemos el tipo de script a OO COBOL en la propiedades del módulo, permite multiinstancia. Pero al caso.

Sí que se puede saber, como decía Rapinto. Un ejemplo simple:

Abres 2 Forms con 2 botones.
MainForm.CmCommand1.Click:

Código COBOL:
  1.      INVOKE POW-SELF "OpenForm" USING "Form1" 1 *> donde 1 es la ID de la cookie
  2.  
  3.      MOVE POW-FALSE TO "Enabled" OF CmCommand1

MainForm.CmCommand2.Click:

Código COBOL:
  1.      INVOKE POW-SELF "OpenForm" USING "Form2" 2 *> donde 2 es la ID de la cookie
  2.  
  3.      MOVE POW-FALSE TO "Enabled" OF CmCommand2

Ahora, en el evento "CloseChild" del MainForm haces:

Código COBOL:
  1.  LINKAGE SECTION.
  2.  01  POW-COOKIE           PIC S9(9) COMP-5.
  3.  PROCEDURE DIVISION USING POW-COOKIE.
  4.  
  5.      IF  POW-COOKIE = 1
  6.          MOVE POW-TRUE TO "Enabled" OF CmCommand1
  7.      END-IF
  8.      
  9.      IF  POW-COOKIE = 2
  10.          MOVE POW-TRUE TO "Enabled" OF CmCommand2
  11.      END-IF

Y listo. Este es el mecanismo. A partir de esto, puedes hacer loq eu quieras, manejar variables EXTERNAL para saber en otros Forms también, si un Form está abuerto o no etc.



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita