Terminar aplicação após erro de conexão. Alguém pode ajudar

Delphi

13/11/2004

Abaixo esta o codigo que o programa executa se ele não encontrar a conexão com o banco de dados - que esta no Form.Create

Session.AddPassword(´senha´);
try
 TabEmpresa.Open;
except on Exception do
 begin
  if Application.MessageBox(´Erro ao conectar com o banco de dados!´ + #13 +
    ´Deseja configurar a conexão agora?´, ´Erro de conexão´, mb_IconInformation + mb_YesNo) = IDYES then
    begin
        Application.MessageBox(´Parâmetros de configuração:´ + 13 + 13 +
          ´Unidade: H:´ + 13 +
          ´Caminho: \\Servidor\bcodados´ + 13 + 13 +
          ´Siga corretamente os parâmetros.´,
          ´Anote isso´, mb_Ok + mb_IconExclamation);
         WNetConnectionDialog(Handle,RESOURCETYPE_DISK);
       end
      else
       begin
// caso a pessoa nao quer fazer a conexao e pressiona o botao cancelar 
// o sistema tem que encerrar a aplicacao - mas mesmo assim esta passando adiante e traz vários erros devido a conexao com o banco de dados...
  Application.messageBox(´Impossível executar o sistema.´, ´Erro´, +
    mb_IconExclamation);
    // Application.Terminate; //ja usei este comando mas tbm nao funcionou 
    Halt;
  end;
 end;
end;



Walfrido

Walfrido

Curtidas 0

Respostas

Massuda

Massuda

13/11/2004

Não tenho respostas... só mais perguntas:
[list:09b67be569][*:09b67be569]Existe algum outro form/data module que sera criado [b:09b67be569]automaticamente[/b:09b67be569] após o form principal que use o BD?[*:09b67be569]No form principal, você tem algum tipo de tratamento em OnActivate/OnShow/OnDestroy do seu form principal que envolva o BD?[/list:u:09b67be569]


GOSTEI 0
Bruno Belchior

Bruno Belchior

13/11/2004

amigão na lógica o Application.Terminate encerraria seu programa, vc já colocou um break point para confirmar se ele realmente passa por esse ponto? caso sim tente chamar o método [b:db812b846a]Close[/b:db812b846a] do seu Formulário principal... espero ter ajudado


GOSTEI 0
Paullsoftware

Paullsoftware

13/11/2004

cara comigo sempre funcionou assim:
Try
Conexao.Connected := True;
Except
ShowMessage("Erro ao acessar o Banco de Dados");
Halt(0);
end;

qq coisa estou sempre no msn Messenger...
:wink:


GOSTEI 0
POSTAR