![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#2
|
|||
|
|||
|
Hola:
Para que el bucle se pare y atienda los mensajes de windows, puedes hacer en su interior: Application.ProcessMessages; Ahora bien, si tu bucle se repite muchas veces y el proceso que se realiza en su interior es muy rápido, esta llamada te lo va a enlentecer mucho. En ese caso es mejor que hagas algo como: Cont := 0; Pulsada:= False; while not (Pulsada) do begin // Aquí iría tu proceso . . . // Sólo se llama a ProcessMessages una vez de cada 100 // iteraciones if (cont mod 100) = 0 then begin Application.ProcessMessages; end; INC(cont); end; El código del botón Cancelar sería, simplemente, Pulsada := True; donde "Pulsada" sería una variable global. Un saludo. |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|