Sandro Ricardo wrote:
> Bom dia amigos,
> 
>     Quero compartilhar uma dúvida com vocês.
>     Preciso colocar um 'botão' para que o usuário possa interromper um 
> determinado processamento.
> 
>     Por exemplo, durante um      With QueSel Do
>                                                Begin  ......                  
>                ou
> 
>                                               While not Eof do
>                                                Begin
>                                                DtTeste.Append;   .....
> 
>     que neste caso específico demora um tempo relativamente grande, o usuário 
> pode cancelar o processamento, saindo sem gravar a operação.
> 
>     Alguém sugere algo ???

- Crie uma variável no formulário, área private:
VCancelar: Boolean;

- Crie o botão cancelar e em seu evento coloque:
VCancelar := True;

- inicialize a variável, consulte seu resultado e permita que o seu 
evento seja executado de dentro do laço:

VCancelar := False;
while not Eof and not VCancelar do
begin
   ...
   Application.ProcessMessages;
end;

--
Joao Morais

Responder a