Como parar um processo longo sem utilizar Threads
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; |
{ 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
-
Vitor Hugo Valdemarca
-
292 views
- 0 comentários
- 7 de junho de 2023
Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!
Posts Relacionados - Continue Aprendendo