Pregunta: | 22141 - EJECUCION DE PROCESOS SINCRONOS |
Autor: | María Isabel Ramírez Verástegui |
Hola,
Deseo que se ejecute un archivo wav de manera repetitiva dentro de un loop. y a la vez mostrar una ventana de alarma con un boton que permita cancelar la reproducción de dicho wav en cualquier momento. Al ejecutarlo se logra escuchar el sonido y se abre la ventana pero no pernite pulsar el boton Puede alguien ayudarme ? Gracias María Isabel |
Respuesta: | Juan Mellado |
Imagino que el código que estás utilizando es parecido al siguiente:
DO WHILE ib_Cancelar = FALSE Ejecuta_Wav() LOOP Donde ib_Cancelar es una variable de instancia que se inicializa a FALSE en su declaración y se hace TRUE en el evento clicked del botón de la ventana. El problema es que el evento clicked no se ejecuta nunca porque no tiene oportunidad de ello al estar ejecutándose continuamente el bucle. Lo que debes hacer es llamar a la función Yield() después de la llamada a Ejecuta_Wav(). Esta función cede momentáneamente el control a Windows para que examine los mensajes que tiene pendiente y los ejecuta. Búscala en la ayuda de PowerBuilder. Espero haberte ayudado. Saludos, Juan |