



Olá pessoal do ShowDelphi
Hoje venho trazer uma forma de parar um processo longo sem utilizar Threads
Com threads você terá mais liberdade de fazer mais coisas, sem problemas, mas caso não queria, vou mostrar uma forma
Nós teremos 2 botões na tela, 1 irá fazer um processo longo e outro será para cancelar esse processo
{ Primeiro iremos criar uma variável global } var Cancelar: Boolean; // Pode ser do tipo que preferir, recomendo Boolean procedure TForm.BotaoClickProcessoLongo; begin while MemTable.Eof do begin // Essa função faz com que a tela não fique congelada, // permitindo que você faça processos simples, // como, marcar um combobox, apertar um botão, scrollar por uma lista Application.ProcessMessages; if Cancelar then begin Cancelar := False; Abort; end; // Simulação de processo lento Sleep(30000); end; end; procedure TForm.BotaoClickParar; begin Cancelar := True; end; |
Espero que tenha ajudado
Obrigado pela atenção
Atenciosamente Vitor