In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Como interrumpir un proceso

Foro de Xailer profesional en español
Responder
josem
Mensajes: 20
Registrado: Sab May 17, 2008 9:35 am

Como interrumpir un proceso

Mensaje por josem »

Buenas noches,
Deseo que cuando estoy ejecutado un proceso, pueda pulsar un botón
"cancelar" para que no continúe con el proceso
Adjunto un ejemplo donde se puede apreciar más claramente.
Hay 2 botones, uno para iniciar un contador de 1 hasta 500000, y otro botón
que sería el que cancelaría el proceso, mientras se está ejecutando el
contador
Saludos
José Manuel Serrano


Attached files contador.zip (1.6 KB)Â
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9452
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Como interrumpir un proceso

Mensaje por ignacio »

José Manuel,
Lo más sencillo es utilizar una DATA del propio formulario. Ej:
1) Creación de la data:
DATA lStop INIT .F.
2) Cambiar el valor de la data en el OnClick de un botón:
oBtn:OnClick := {|| ::lStop := .T. }
3) Incluir una llamada a ProccessMessages y control de salida del bucle
DO WHILE ....
ProcessMessages()
IF ::lStop
EXIT
ENDIF
ENDDO
El mayor inconveniente de este sistema es que has de deshabilitar el resto
de controles de formulario, y además controlar que no te cierren el
formulario pues el usuario va poder, por ejemplo, cerrar el formulario
mientras que se procese el bucle.
Un saludo
--
Ignacio Ortiz de Zúñiga
[Soporte Xailer]
"José Manuel" <josem@nuel.es> escribió en el mensaje
news:4797bb46$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Buenas noches,
>
>
> Deseo que cuando estoy ejecutado un proceso, pueda pulsar un botón
> "cancelar" para que no continúe con el proceso
>
> Adjunto un ejemplo donde se puede apreciar más claramente.
>
> Hay 2 botones, uno para iniciar un contador de 1 hasta 500000, y otro
> botón que sería el que cancelaría el proceso, mientras se está ejecutando
> el contador
>
> Saludos
> José Manuel Serrano
>
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
notengo
Mensajes: 417
Registrado: Vie Oct 12, 2007 1:29 pm

Como interrumpir un proceso

Mensaje por notengo »

José Manuel,
> Deseo que cuando estoy ejecutado un proceso, pueda pulsar un botón
> "cancelar" para que no continúe con el proceso
>
> Adjunto un ejemplo donde se puede apreciar más claramente.
>
> Hay 2 botones, uno para iniciar un contador de 1 hasta 500000, y otro botón
> que serí­a el que cancelarí­a el proceso, mientras se está ejecutando el
> contador
Mira en el ejemplo samplesdialogs cómo se hace utilizando un control
TProgressDlg, creo que te resultará más fácil hacerlo así­.
Saludos,
José Lalí­n
Responder