Eu uso a libcurl (DLL) com binding para Pascal (CurlPas) para toda 
comunicação com a internet nos meus projetos. Não tenho tido problemas. 
Não uso FTP, mas a biblioteca contempla isso. A libcurl é utilizada por 
muitas grandes empresas em muitos softwares populares (Google Earth, por 
exemplo). Além de tudo é Free.

Dê uma olhada, talvez sirva para o seu caso.

http://curl.haxx.se/libcurl/
http://curl.haxx.se/libcurl/pascal/ (binding para Pascal)

Apenas para descobrir se há conexão com a internet, a própria 
Wininet.dll serve. Ela possui uma função "InternetGetConnectedState" que 
faz o que você quer. De acordo com a documentação da Microsoft 
(http://msdn.microsoft.com/en-us/library/aa384702%28VS.85%29.aspx) ela 
está disponível a partir do Windows 2000, mas a minha experiência mostra 
que ela está disponível desde o Win98.

PS: toda a API do Windows está documentada no MSDN 
(http://msdn.microsoft.com). Deve ser o primeiro local a se procurar 
informações sobre API.

[ ]'s
Dirlei.

Marcos Abreu Ferreira escreveu:
>  
>
> Pessoal,
>
> estou desenvolvendo uma aplicação que irá fazer upload de arquivo 
> texto. Tentei usar o componente do Indy Projects, mas não obtive o 
> resultado esperado. Andei procurando na net e achei alguns exemplos 
> usando DLL, mais precisamente a Wininet.dll da Microsoft.
>
> Vi que na minha máquina já tem, mas não consegui obter mais 
> informações sobre ela, se já vem instalada no Windows, se tem algum 
> problema de eu enviar uma versão e substituir a que já existe, etc...
>
> Alguém já usou essa DLL? Alguém conhece algum outro componente ou DLL 
> gratuito e obteve um resultado bom? Minha aplicação envia arquivos txt 
> de 20 em 20 segundos para o provedor, precisava de algo que 
> verificasse se existe conexão com a internet, se a conexão ao servidor 
> foi feita com sucesso, etc...
>
> Att,
>
> Marcos Ferreira
>

Responder a