![]() |
"atrapar" la ejecución de un procedimiento
Hola amigos foreros.
SIguiendo con mi módulo de ordenamiento... Tengo un procedimiento que realiza algo así como un ordenamiento de burbuja. Ese procedimiento, tarda bastante tiempo en ejecutarse (aprox 30 min) y me gustaría que el usuario pudiera cancelar su ejecución mediante un boton. Que al dar click mandara un cuadro de dailogo adviertiendo que se cancelará la operación y al acepratlo, que la ejecución de la función termine. Pero no tengo idea de como hacerlo. Alguien me puede ayudar con eso? Gracias |
Si estas dentro de un ciclo (while, for, repeat) podes crear una variable global (FCancel) en valor False y en el boton Cancelar de tu formulario agregas:
if Application.MessageBox('¿ Realmente desea cancelar el proceso ?', 'Advertencia', MB_YESNO) = idYes then FCancel := True; Y dentro del ciclo pones algo así como: while (<< lo que estabas preguntando >>) and (not FCancel) do bla...bla... |
Sólo un apunte, añade en algún punto del bucle lo siguiente:
Para que así el programa atienda a tús eventos (hacer clic sobre elo botón de cancelar) y para que no se te congele la aplicación. Saludos |
La franja horaria es GMT +2. Ahora son las 21:05:59. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi