INTERROMPER UM DO WHILE
Boa Tarde
Tenho várias rotinas de impressão
Gostaria de saber se é possivel interromper o processamento
Do while not TB_clientes.eof
----
----
---
Loop
So que quando esta mostrando o PROGRESS bar a pessoa desiste da lista, ou ve que os parametros estão errados, tem como parar de ler (exit do) no meio do processamento ?
Coloquei um botão parar por exemplo, so que enquanto esta rodando ele não permite clicar em nada do formulário, dai o botão parar não resolveu meu problema
O que pretendo é que o usuário possa interromper o processamento que ele pediu (Listagem) a qualquer momento, antes da conclusão do mesmo
tipo isso
If ParaProcesso = [Ô]S[Ô] Then
Exit Do
End If
Muito obrigado
Tenho várias rotinas de impressão
Gostaria de saber se é possivel interromper o processamento
Do while not TB_clientes.eof
----
----
---
Loop
So que quando esta mostrando o PROGRESS bar a pessoa desiste da lista, ou ve que os parametros estão errados, tem como parar de ler (exit do) no meio do processamento ?
Coloquei um botão parar por exemplo, so que enquanto esta rodando ele não permite clicar em nada do formulário, dai o botão parar não resolveu meu problema
O que pretendo é que o usuário possa interromper o processamento que ele pediu (Listagem) a qualquer momento, antes da conclusão do mesmo
tipo isso
If ParaProcesso = [Ô]S[Ô] Then
Exit Do
End If
Muito obrigado
Do while not TB_clientes.eof
----
----
---
If ParaProcesso = [Ô]S[Ô] Then
Exit Do
End If
DoEvents
Loop
teste ai
----
----
---
If ParaProcesso = [Ô]S[Ô] Then
Exit Do
End If
DoEvents
Loop
teste ai
Coloquei como vc sugeriu
Ele fica sublinhado como erro
DoEvents()
Esse DoEvents deveria desviar o processamento para um rotina/evento ?
Eu uso o Visual Studio 2008, esse comando funciona nele ?
Ele fica sublinhado como erro
DoEvents()
Esse DoEvents deveria desviar o processamento para um rotina/evento ?
Eu uso o Visual Studio 2008, esse comando funciona nele ?
DoEvents() é do VB6, o equivalente no .Net é o Application.DoEvents(), mas só para Windows Forms.
Mas o ideal nestes casos seria você executar o processo demorado em segundo plano, usando por exemplo o BackgroundWorker, ele não bloquearia a interface, porém tem algumas limitações caso você precise interagir com a interface de dentro do loop
Mas o ideal nestes casos seria você executar o processo demorado em segundo plano, usando por exemplo o BackgroundWorker, ele não bloquearia a interface, porém tem algumas limitações caso você precise interagir com a interface de dentro do loop
desculpe amigo é Application.DoEvents()
ele não trava o processo
ele não trava o processo
perfeito, resolveu meu problema, perfeitamento
Muito obrigado OCELOT, e demais
Muito obrigado OCELOT, e demais
Tópico encerrado , respostas não são mais permitidas