Como abortar processo?

Delphi

18/08/2005

Olá Pessoal,

Tenho uma situação complicada para resolver, Estou executando uma função de cálculo, que é chamada através de outro form. Entro num form, escolho a empresa e no próximo form mando executar o cálculo, enquanto isso nesta tela vai me mostrando num grid o que está fazendo... Pois é só que chega numa situação que não quero mais calcular e desejo cancelar a operação, talvez com esc ou um botao cancel... como faço? o Form é chamado com showmodal. D7, CLX, IB7.


Ediane

Ediane

Curtidas 0

Respostas

Asensio

Asensio

18/08/2005

Tenta o comando.
Break


Fui


GOSTEI 0
Ediane

Ediane

18/08/2005

Mas em que momento eu disparo esse comando?


GOSTEI 0
Rjun

Rjun

18/08/2005

Esse cálculo esta num while?


GOSTEI 0
Ediane

Ediane

18/08/2005

Está!


GOSTEI 0
Crash

Crash

18/08/2005

Voce pode no fim de cada bloco do while dar um Application.ProcessMessages para o processo nao ficar preso somente nesse bloco. crie uma variavel vAbortar e no OnKeyPress do form vc seta ela pra true e dentro do bloco vc testa... se ela estiver true entao vc da um break.

var
  vAbortar: Boolean;


begin
  vAbortar := False;
  while Condicao do
  begin
    if vAbortar then
      Break;
    Comandos...
    Application.ProcessMessages;
  end;
end;


Form1.FormKeyPress(Sender: TObject; Key: Char);
begin
  if Key = #27 then
  begin
    Key := 0;
    vAbortar := True;
  end;
end;



GOSTEI 0
Ediane

Ediane

18/08/2005

Valeu pela dica, vou tentar...

Obrigada a todos!


GOSTEI 0
POSTAR