![]() |
Opción de BOTÓN CANCELAR un proceso a medias
Todos usamos una instrucción PERFORM para llenar una tabla, leer un fichero, actualizar, etc., me guastaría poder poner un botón que cancele ese PERFORM en el momento que desees antes de que termine el proceso, (tipo a como aparece cuando haces un listado con POWERForm), ¿alguien puede iluminarme si se puede hacer de alguna manera?
Muchas gracias.- |
@Josber, se me ocurre algo así:
En la Working Global: Código COBOL:
En el evento "Click" del botón Cancelar: Código COBOL:
En tu bucle haces lo siguiente: Código COBOL:
|
@Kuk, algo así había pensado, el problema está en que, sólo tengo la opción de cancelar. Al "disparar" el evento "click" del botón que ponga, ya no puedo "volver" al mismo punto en que se pulsó ese botón si por un casual, he pulsado por error.
Un salu2.- |
@Josber, estas cosas se gestionan mediante COMMIT y ROLLBACK si estás con SQL. Si estás con ficheros, se puede guardar el último registro tratado (su clave por ejemplo) en una variable global también y cosas por el estilo. ;)
|
Hola:
Sin probar nada, pero se me ocurre que en vez de poner la condición de fallo en el perform, hagas dentro de él en un IF y ahi podés preguntar si continúa o no. Saludos.. Fito... |
@Fito, eso no puede hacerse, en cuanto haces click en el botón, "pierdes el foco" de la rutina en la que estás, y tendrías que volver a la rutina y empezar de nuevo, no sé si me explico.
Éste fin de semana, haré la prueba de lo que me comentó @Kuk, a ver si funciona. Un salu2.- |
Hola
Retomo este tema y tengo la siguiente consulta. En un form tengo un botón con el que lanzo un proceso y quiero poner un botón que cancele dicho proceso. El proceso es complicado con lecturas de un fichero de cabeceras y a partir de cada registro se leen las registros de líneas. Se hacen una serie de cálculos y se actualizan los registros de ambos ficheros. Además se generan dos ficheros secuenciales con los datos de los ficheros de cabeceras y líneas. Para realizar los cálculos y otros subprocesos se llaman rutinas del form mediante CALL. La cuestión es que aunque ponga el método ThruEvents casi párrafo a párrafo y haga click en el botón de cancelación del proceso veo que debo clickar varias veces hasta que consigo que se ejecute el evento click y pueda parar el proceso. He hecho diferentes pruebas, incluso con un form que contenga el botón de cancelación siguiendo lo visto en otro post pero no encuentro la solución. Agradeceré cualquier ayuda. Un saludo |
@lumalma, cuando haces varios clic, te da la impresión que funciona con varios pero en realidad el que hace el trabajo es el primero que simplemente se retrasa.
Tu problema tiene solución, y es esta: Multihilo (Thread) en PowerCOBOL - Cobol Foro |
@Kuk, le echaré un vistazo.
Muchas gracias |
| La franja horaria es GMT +2. Ahora son las 22:57. |
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.