por Maligno » 30 Mai 2010 13:34
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.
[]'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!