Delphi - Como puedo pausar un Procedimiento o un bucle

 
Vista:

Como puedo pausar un Procedimiento o un bucle

Publicado por Sergio Cantero (8 intervenciones) el 30/10/2003 06:55:09
Hola gente!!, a ver si alguien me puede ayudar...estoy tratando de pausar o cortar un procedimiento en ejecucion, dentro del procedimendo existe un bucle (WHILE) donde realiza un calculo, dicho calculo en determinados casos es muy Grande y tarda mucho tiempo por esa razon quiero cortarlo o pausarlo pero tengo el conflicto de que cuando se esta ejecutando dicho procedimiento el FORM no detecta eventos y no puedo cerrar la aplicacion, el FORM queda congelado y no puedo hacer nada.
Por las dudas existe alguna funcion tipo "DoEvents de VB" en delphi para que cuando entre en dicho bucle o procedimiento no quede congelado el FORM.
Desde ya muchas gracias y saludos!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como puedo pausar un Procedimiento o un bucle

Publicado por Fer (269 intervenciones) el 30/10/2003 09:05:14
Para cortar el bucle puedes hacer lo siguiente:

1. Declara una variable global al form, de tipo boolean, por ejemplo en la parte private que puedes llamar FCancelar.

2. En el OnCreate del Form (no es necesario pero si recomendable):
FCancelar := False;

3. Pon un botón en cuyo evento OnClick escribes:
FCancelar := True;

4. En la condición del bucle debes añadir la condición "and not FCancelar"

5. En el cuerpo del bucle añade la instrucción:

Application.ProcessMessages;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como puedo pausar un Procedimiento o un bucle

Publicado por Sergio Cantero (8 intervenciones) el 01/11/2003 06:46:11
Bueno Muchas gracias por la ayuda.
Saludos!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar