![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
|||
|
|||
|
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 |
|
#2
|
||||
|
||||
|
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 |
|
#3
|
|||
|
|||
|
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 |
|
#4
|
|||
|
|||
|
No se si te servirá, para bucles si funciona.
Ejemplo en un procedure: procedure TForm1.Button1Click(Sender: TObject); var i : integer; begin for i:=0 to 9999999 do begin {Haces la tarea repetitiva} Label1.Caption:=IntToStr(i); {....} {Procesamos los mensajes de windows} Application.ProcessMessages; {Si tecla ESC pulsada, paramos el bucle} if GetKeyState(VK_Escape) and 128 =128 then break; end; end; Sacado de Trucomania. Espero te sirva. Un saludo. Tonio |
![]() |
| 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 |
|