Fórum Parar execução do programa entre uma função e outra #269702

22/02/2005

0

Olá pessoal, tudo blz?
Estou escrevendo uma rotina de importação de dados, em Delphi 7 com MSSQL Server 2000, que são feitas através de 7 passos. Para cada passo criei uma função que executa determinada fase deste processo. Para isso, estou levando em consideração que se o passo 1 estiver ok, executo o passo 2 e assim até o final. O problema é quando acontece um erro entre uma função e outra.
Por exemplo, no passo 3 ocorreu um erro. Hoje estou dando um Application.Terminate nos erros ou exceções que acontecem. Se faço apenas um Break, ele pára esta função mas executa a próxima. O que gostaria de fazer é somente parar o processo, sem fechar a aplicação por inteiro, para que o usuário possa avaliar o arquivo de log ou importar outro arquivo.
Como faço para criar este controle de execução?

Obrigado pelas dicas! :-)


Jorgeolimpia

Jorgeolimpia

Responder

Posts

22/02/2005

Beppe

Uma solução quick´n´dirty seria manter uma variável que diz o estado do processo, digamos, TudoOK: Boolean. Ela começa como True, e ao surgir um erro, vc atribui False pra ela e termina a função corrente. No início de cada função, faça um teste nesta variável, se ela for False(significando que um passo anterior zebrou), apenas de um Exit.


Responder

Gostei + 0

22/02/2005

Andremuller

Crie uma excessão que pare a execussão da aplicação.

raise Exception.Create(´Ocorreu um erro.´)

ou talvez
on E: Exception do
raise Exception.Create(´Ocorreu um erro.´ + E.Message) ;


Responder

Gostei + 0

23/02/2005

Jorgeolimpia

Obrigado Beepe, sua dica realmente funcionou com o que eu precisava!

Sucesso!

Jorge Olimpia

Uma solução quick´n´dirty seria manter uma variável que diz o estado do processo, digamos, TudoOK: Boolean. Ela começa como True, e ao surgir um erro, vc atribui False pra ela e termina a função corrente. No início de cada função, faça um teste nesta variável, se ela for False(significando que um passo anterior zebrou), apenas de um Exit.



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar