![]() |
![]() |
| 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 |
|
#7
|
|||
|
|||
|
Perdona, pero no se trata exactamente de eso, simplemente he utilizado tu respuesta para simplificar. El problema es, siguiendo utilizando parte de tu ejemplo:
Type TForm1 = Class(TForm) .. Private FEnProceso : Boolean; FCancelado : Boolean; .. Implementation Procedure TForm1.bProcesarClick(Sender : TObject); Var i : Longint; Begin FEnProceso := True; FCancelado := False; try InicializarProceso; DeshabilitarControles; For i := 1 to 2147483647 do Begin RealizarIteracionDelProceso; Application.ProcessMessages; if FCancelado Then Break; // paramos el proceso End; if Not FCancelado Then ProcesoTerminadoConExito; else RealizarAccionesParaCancelar; finally FEnProceso := False; HabilitarControles; end; End; Olvidándonos de los botones de Cancelar y Cerrar y poniendo otro: TForm1.ClickButton1(Sender: TObject); begin .... (CA) Parte del Codigo ... while FEnProceso do Application.ProcessMessages; ?? begin .... (CB) Resto del Codigo ... end; end; La pregunta es cómo esperar a que FEnProceso sea False para seguir el código CB es decir que haya terminado el bProcesarClick. E imaginación le he echado toda la que tengo. Por cierto, cómo se hace para encerrar el código en una cajita en estos mensajes? Saludos. |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|