Como abortar processo?
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.
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
Curtidas 0
Respostas
Asensio
18/08/2005
Tenta o comando.
Break
Fui
Break
Fui
GOSTEI 0
Ediane
18/08/2005
Mas em que momento eu disparo esse comando?
GOSTEI 0
Rjun
18/08/2005
Esse cálculo esta num while?
GOSTEI 0
Ediane
18/08/2005
Está!
GOSTEI 0
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
18/08/2005
Valeu pela dica, vou tentar...
Obrigada a todos!
Obrigada a todos!
GOSTEI 0