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)Â
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.
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
- ignacio
- Site Admin
- Mensajes: 9452
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Como interrumpir un proceso
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
>
>
>
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
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Como interrumpir un proceso
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
> 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