INTERROMPER UM DO WHILE

SOCRAMSA 13/07/2012 14:31:26
#406029
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
LUIZCOMINO 13/07/2012 14:43:59
#406031
Resposta escolhida
Do while not TB_clientes.eof

----
----
---
If ParaProcesso = [Ô]S[Ô] Then
Exit Do
End If


DoEvents
Loop


teste ai
SOCRAMSA 13/07/2012 14:50:46
#406033
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 ?
OCELOT 13/07/2012 14:54:12
#406034
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
LUIZCOMINO 13/07/2012 14:57:43
#406035
desculpe amigo é Application.DoEvents()
ele não trava o processo
SOCRAMSA 13/07/2012 14:58:11
#406036
perfeito, resolveu meu problema, perfeitamento

Muito obrigado OCELOT, e demais
Tópico encerrado , respostas não são mais permitidas