se nao acessar a rede dar mensagem no delphi 6
Moderador: Moderadores
se nao acessar a rede dar mensagem no delphi 6
bom dia pessoal, tenho um sistema em delphi 6 com firebird, esta funcionando perfeitamente em rede, agora gostaria de saber como faco para quando na maquina cliente, se o servidor nao for localizado, ou se a rede estiver com problema dar mensagem que o servidor nao foi localizado ou que a rede esta com problema. Eu quero que o sistema de a mensagem e encerre o sistema, so isso.
Re: se nao acessar a rede dar mensagem no delphi 6
Não entendo muito de Delphi, mas acredito que resolveria se, no início da execução, você tentasse conectar por um componente, dentro de um bloco try. Se falhar, encerre. Caso contrário, prossiga normalmente. Detalhe: eu uso o Builder e nunca deixo componente de conexão ligado. Prefiro ligar apenas no uso. Se deixar ligado, ele tentará a conexão assim que o formulário for instanciado. Falhando, já sabe o que acontece.
Claro que você também deve se preocupar com a perda da conexão durante a execução do programa. São várias formas de tratar isso. Uma delas acho bem simples: uma thread que monitora a situação da conexão o tempo todo. Na falha (evento onError ou onConnectionLost do componente de conexão), a thread fecha um semáforo que deve ser testado antes de cada interação com o servidor. Mas é só uma idéia. Apenas não se esqueça, nesse caso, de que a execução de uma SQL, em caso de "fetch all", traz todas as linhas para a memória. Assim, a perda da conexão só será sentida quando uma nova SQL precisar ser executada. Ou no "fetch" parcial (ou refresh), porque aí o conector precisará do servidor novamente, para nova carga.
Claro que você também deve se preocupar com a perda da conexão durante a execução do programa. São várias formas de tratar isso. Uma delas acho bem simples: uma thread que monitora a situação da conexão o tempo todo. Na falha (evento onError ou onConnectionLost do componente de conexão), a thread fecha um semáforo que deve ser testado antes de cada interação com o servidor. Mas é só uma idéia. Apenas não se esqueça, nesse caso, de que a execução de uma SQL, em caso de "fetch all", traz todas as linhas para a memória. Assim, a perda da conexão só será sentida quando uma nova SQL precisar ser executada. Ou no "fetch" parcial (ou refresh), porque aí o conector precisará do servidor novamente, para nova carga.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!

