![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
||||
|
||||
|
Suponiendo que tu bucle es algo como
lo que propone Lepe es que lo modifiques así:
Application.ProcessMessages permite que tu formulario procese los mensajes en cada vuelta del ciclo, de manera que puedas orpimir el botón de Cancelar. En el evento OnClick de ese botón pondrías:
// Saludos |
|
#2
|
||||
|
||||
|
Aquí deje un ejemplo de como hacer algo similar pero usando threads.
http://www.clubdelphi.com/foros/show...67&postcount=7 |
|
#3
|
|||
|
|||
|
Gracias a todos, he solucionado el problema de la manera que me comento roman y Lepe lo unico que he detectado que no se muestra como se apreta el boton, pulsas y al cabo de unos segundos se cierra, pero no vez el efecto de pulsar el boton y tampoco es automatico, no se si me explico.
Nuevamente gracias a todos |
|
#4
|
||||
|
||||
|
Hola,
¿Pusiste un "Application.ProcessMessages"? Tiene toda la pinta de que no, pero, si lo pusiste y aún así encuentras el problema que describes... la verdad, no sé si se ganaría algo cambiando un poco las cosas tal que así:
También puedes probar:
O dejarlo como Román decía al principio, pero:
O, por otro lado,... tal vez utilizar algún "Hilo" aparte en tu aplicación para leer el archivo de marras... |
|
#5
|
|||
|
|||
|
Gracias Dec por las variantes, si que me acorde de poner lo de Application.ProcessMessages y he probado hacer lo que me dices, el resultado es mas o menos igual, pero yo creo que es por la cantidad de operaciones que hace antes de dar la vuelta al bucle, por eso el intervalo de tiempo, desde que lee uno hasta que lee otro y vuelve a pasar por Application.ProcessMessages actualiza unos ficheros, crea una plantilla personalizada, envia un PDF personalizado por Email, etc. Realmente no es que no funcione lo unico es que se queda como si no hubieras pulsado nada hasta que vuelve al bucle y pasa por el ProcessMessages, al menos que haya algo que se pueda poner al propio formulario para que detenga el proceso mientras todavia no haya dado la vuelta.
Un saludo |
|
#6
|
||||
|
||||
|
Digamos que el uso de ProcessMessages es algo así como la versión pobre de un thread. Si- como describes -tu ciclo es muy pesado, definitivamente te conviene usar la opción que te comenta seoane. Que no te asuste lo de threads, si revisas el ejemplo de seoane verás que es muy sencillo.
// Saludos |
|
#7
|
|||
|
|||
|
lo probare Roman, a veces lo desconocido nos para un poco, pero como comentas lo mismo no es tan complicado seguire tu consejo y mirare lo de los hilos.
Gracias |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| EXCEPTION con parametros u otro comando para abortar | fcios | Firebird e Interbase | 10 | 31-03-2007 08:39:16 |
| ¿como abortar ejecución de eventos? | pjjorda | Varios | 5 | 06-06-2006 20:59:59 |
| Como Abortar mi APP sin q aparescan Mens de ERROR | pcicom | OOP | 5 | 22-03-2005 09:22:13 |
| Abortar un Ciclo While | jmedina | Varios | 2 | 08-03-2005 20:48:17 |
| abortar inmediatamente | acrophet | Varios | 4 | 20-10-2003 18:07:18 |
|