Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Interrumpir proceso (https://www.clubdelphi.com/foros/showthread.php?t=415)

Jose_Pérez 14-05-2003 10:41:11

Interrumpir proceso
 
Hola:

Algunos procesos (bucles en procedimientos) pueden bloquear temporalmente un programa. Por ejemplo, una copia de archivos del disco duro a la unidad A:. Mi intención es utilizar un botón para que el usuario, si así lo desea, pueda interrumpir el proceso. El problema está en que el botón no puede obtener el focus mientras se ejecuta el proceso.

¿Alguien sabe como se hace esto?

Saludos.

__cadetill 14-05-2003 10:48:27

en el bucle, puedes utilizar el Application.ProcessMessages para poder hacer pulsaciones en un boton de cancelar. En cada iteracion del bucle, se procesaran todos los mensajes enviados a la aplicacion (pulsacion de botones, pulsacion del teclado, refresco de la pantalla,....)

Supongo que ya sabras como hacer el cancel de un bucle, no? si no es asi pues...

declara una variable global de tipo booleana e inicializala a false

y el bucle pon algo asi

while not CopiaTerminada and not Salir do

y en el OnClick del boton de cancelar pon la variable a true

Espero te sirva

Jose_Pérez 14-05-2003 13:11:07

Ok. Funciona perfectamente.

Gracias.

Saindoft 07-01-2009 00:23:02

Cita:

Empezado por Jose_Pérez (Mensaje 1664)
Hola:

Algunos procesos (bucles en procedimientos) pueden bloquear temporalmente un programa. Por ejemplo, una copia de archivos del disco duro a la unidad A:. Mi intención es utilizar un botón para que el usuario, si así lo desea, pueda interrumpir el proceso. El problema está en que el botón no puede obtener el focus mientras se ejecuta el proceso.

¿Alguien sabe como se hace esto?

Saludos.

:rolleyes:Hola amigo he seguido mucho estos temas sobre como poder detectar
los procesos atados a programas, archivos y discos como memorias y
creo que tu pregunta se basa en como interrumpir estos procesos...
si estoy en lo cierto quisiera saber si me pudieras ayudar a detectar dichos
procesos e interrumpirlos... muchas gracias de antemano


La franja horaria es GMT +2. Ahora son las 13:46:25.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi