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
|