Como abortar uma pesquisa em tempo de execução.

Delphi

19/02/2004

Colegas,

Estou desenvolvendo um sistema em que faço uma pesquisa em um banco de dados (Access), em determinada situação a pesquisa fica demorada por esta lendo uma quantidade grande de dados, neste momento quero sair desta consulta e não consigo, na tela tenho o botão sair, clico nele, porem ele só responde ao comando após a pesquisa ter terminado. Tem algum comando que possa forçar a saída imediata teclando ESC ou clicando um botão?

Obrigado,

Rubem Falcão.


Rfalcaoj

Rfalcaoj

Curtidas 0

Respostas

Lucas Silva

Lucas Silva

19/02/2004

Tipo assim, você pode determinar um tempo X, se a pesquisa não for concluida neste tempo você da´ um [b:9188eb2bde]ABORT[/b:9188eb2bde]


GOSTEI 0
Rfalcaoj

Rfalcaoj

19/02/2004

Lucas,


Não, o que me refiro é: Fiz uma pesquisa e percebi logo depois que não deveria ter feito, como já começou e está demorando o botão sair não responde até o término da consulta, porem quero sair, para fazer uma outra. Tenho que esperar toda a pesquisa terminar, para a tela voltar a responder e eu poder acessar novamente o programa. O que quero e interromper a pesquisa no meio (no instante em que estiver), aborta-la a qualquer momento antes do término.

Obrigado,

Rubem.


GOSTEI 0
Adilsond

Adilsond

19/02/2004

Neste caso voce terá de gerar suas consultas em threads e caso necessite voce pode cancelar a thread.


GOSTEI 0
Bolus

Bolus

19/02/2004

Caro Colega,
Verificando o Help do Delphi 6.0, verifiquei que existe um Evento, chamado OnFetchProgress, supostamente esta utilizando o Componente ADOQuery, que você poderá utilizar para processar as mensagens pendentes no Windows chamanto a Procedure ProcessMessage....

Acho que deve funcionar.... Não cheguei a testar.....

Espero ter ajudado....


GOSTEI 0
POSTAR