Cobol Foro

Cobol Foro (https://www.cobolforo.es/index.php)
-   PowerCOBOL (ActiveX, v4 - v11) (https://www.cobolforo.es/forumdisplay.php?f=9)
-   -   [Sintaxis] Cargar un combo en linea (https://www.cobolforo.es/showthread.php?t=1260)

Breew 25 de enero de 2021 15:47

Cargar un combo en linea
 
Hola.
Me encuentro con un probema que no se como lo solventais.

Al Iniciar, cargo los combos con la posibilidades.
Código COBOL:
  1.  combo1.
  2.  
  3.      INVOKE Combo-Mecanismo     "ClearList"
  4.      INVOKE Combo-Mecanismo "AddString" USING "Opcion A"   returning IDX-Combo  MOVE IDX-Combo TO "ListIndex" OF Combo-Color-Mecanismo .
  5.      INVOKE Combo-Mecanismo "AddString" USING "Opcion B"   returning IDX-Combo  MOVE IDX-Combo TO "ListIndex" OF Combo-Color-Mecanismo .
  6.      
  7.  combo2.
  8.      INVOKE Combo-Color-Mecanismo     "ClearList"
  9.      INVOKE Combo-Color-Mecanismo "AddString" USING "mecanismo Beige"   returning IDX-Combo  MOVE IDX-Combo TO "ListIndex" OF Combo-Color-Mecanismo .
  10.      INVOKE Combo-Color-Mecanismo "AddString" USING "mecanismo Gris"    returning IDX-Combo  MOVE IDX-Combo TO "ListIndex" OF Combo-Color-Mecanismo .
  11.      INVOKE Combo-Color-Mecanismo "AddString" USING "mecanismo Negro"   returning IDX-Combo  MOVE IDX-Combo TO "ListIndex" OF Combo-Color-Mecanismo .
  12.      INVOKE Combo-Color-Mecanismo "AddString" USING "mecanismo Blanco"  returning IDX-Combo  MOVE IDX-Combo TO "ListIndex" OF Combo-Color-Mecanismo .
Pero si pongo alguna condicion en SelChange que ejecute algun aviso, me lo dispara tambien en la carga.
Es como si el AddString, antes de ponerlo en la lista lo pase por el "SelString" con lo cual dispara el aviso
Código COBOL:
  1.      IF "SelString" OF Combo-Mecanismo = "Opcion B" THEN
  2.      display "color unico Beige"
  3.      INVOKE Combo-Color-Mecanismo     "ClearList"
  4.      INVOKE Combo-Color-Mecanismo "AddString" USING "mecanismo Beige"   returning IDX-Combo  MOVE IDX-Combo TO "ListIndex" OF Combo-Color-Mecanismo
  5.      END-IF.

No se si me he explicado bien :rofl:

Como deberia cargarlo para que no me pase eso??

Kuk 25 de enero de 2021 19:26

@Breew, te lo hace por estas líneas:

Código COBOL:
  1. MOVE IDX-Combo TO "ListIndex" OF Combo-Color-Mecanismo

No lo hagas al cargar ;)

Fito 26 de enero de 2021 15:28

Hola:

Es como dice KUK. El evento SelChange se corre cuando movés el indice del combo y vos lo estas haciendo en cada linea de la carga.

Lo que podés hace para asegurarte de que el SelChange no se ejecute es tenerlo deshabilitado al acargarlo y habilitarlo al terminar de hacerlo, y en el método del SelChage preguntas if "Enabled" of combo = true y ahi metés todo el código. O por false con un go que salte al final.

Saludos.

Fito

Breew 19 de febrero de 2021 07:51

Hola.

Ahora si que es otra cosa.
Me habeis quitado un peso de encima .

Gracias


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

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