Erreur de socket insoluble ! [Résolu]

John Dogget 390 Messages postés vendredi 18 juin 2004Date d'inscription 7 mai 2009 Dernière intervention - 12 juin 2006 à 23:54 - Dernière réponse : reveur23 1 Messages postés jeudi 14 septembre 2006Date d'inscription 15 septembre 2006 Dernière intervention
- 15 sept. 2006 à 16:08
Bonjour à tous.

Alors voilà, je souhaite récuperer un fichier sur un site à interval régulier, le problème est que je voudrais que le soft ne plante pas lorsque l'ordinateur n'est pas connecté à internet.

Voilà donc ce que j'ai ecrit ...

"function RecupFichier(Site:byte):string;
var
 AccesInternet:TIdHttp;
begin
 AccesInternet:= TIdHttp.Create(nil);
 AccesInternet.ReadTimeout:=5000;
 try
  try
   RecupFichier:=AccesInternet.Get(ListeDesAdresses[SiteDeRecherche]);
  except
   RecupFichier:='Non connecté';
  end;
 finally
  AccesInternet.Free;
 end;
end;"

Ben ça marche pas
Systematiquement, j'ai une erreur de socket quand l'ordi est déconnecté (impossible de trouver l'hôte).

Vous voyez ce qui manque à mon code ?
PS : j'utilise D7 et les compo indy livrés avec
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
John Dogget 390 Messages postés vendredi 18 juin 2004Date d'inscription 7 mai 2009 Dernière intervention - 13 juin 2006 à 20:47
3
Merci
Bon ben ça marche très bien en fait, l'erreur ne venait pas de cette portion de code

Merci John Dogget 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 120 internautes ce mois-ci

Commenter la réponse de John Dogget
Utilisateur anonyme - 13 juin 2006 à 00:29
0
Merci
Salut,


Désolé mais ton code est incompréhensible comme ca, il manque trop de
choses. Il en va de meme de ta question : Donc tu devrais refomuler
tout ca.


Il faut pas oublier qu'on est pas dans  votre tete
donc c'est sympas de penser aux copains qui cherchent pour vous en
donnant un minimum d'infos pour que l'on puisse comprendre. A force
d'épurer les infos,  on dit des betises en plus. De plus le peu de
code que tu donnes est mal structuré pour pas dire mal coder :


"function RecupFichier(Site:byte):string;
 ET RecupFichier:=AccesInternet.Get(ListeDesAdresses[SiteDeRecherche]);


Tout ca pour la meme fonction ??  .
Autrement dit tu appelles ta fonction dans ta fonction et tu assimiles
la valeur retournée à une autre fonction ? Oua ca c'est de l'acrobatie . Il faut choisir entre le mondial et developper hein ?? les deux en meme temps ca conduit à des trucs chelous .


Je te chambre un peu John mais de ta part ca me surprend un peu que tu fasses un code aussi "cradosse " .C'est ca d'etre devenu une star : on te laisse rien passé


A+
Commenter la réponse de Utilisateur anonyme
Utilisateur anonyme - 13 juin 2006 à 00:48
0
Merci
Pour télécharger un fichier avec idHTTP voici un lien :

http://delphi.developpez.com/faq/?page=indy_idhttp#indyidhttpfichier


Rien n'avoir avec ton code . Il est possible d'utilise aussi un TMemoryStream et de récuperer ta page directos via le composant  HTMLLite


A+
Commenter la réponse de Utilisateur anonyme
John Dogget 390 Messages postés vendredi 18 juin 2004Date d'inscription 7 mai 2009 Dernière intervention - 13 juin 2006 à 00:48
0
Merci
LOL

C'est coder comme un cochon parce que je ne sais pas trop comment faire alors j'essaye un peu tout ce qui me passe par la tête pour voir si ça marche (et en l'occurence, ça marche ... pas ). Ce code marche très bien quand la connexion est présente, mais pas quand elle ne l'est pas

"Autrement dit tu appelles ta fonction dans ta fonction et tu assimiles la valeur retournée à une autre fonction ?"
Beuu 
En fait, je me sers du nom de la fonction comme valeur de retour, c'est pas un appel.

D'habitude, ce genre de bidouille marche, mais là ...
Vais essayer autre chose .

PS: vraiment sympa ton accueil
Commenter la réponse de John Dogget
Utilisateur anonyme - 13 juin 2006 à 00:52
0
Merci
Oh c'était une petite blagounette : lol.


Regarde le lien que je t'ai passé ca va peut etre t'aider


A+ John
Commenter la réponse de Utilisateur anonyme
reveur23 1 Messages postés jeudi 14 septembre 2006Date d'inscription 15 septembre 2006 Dernière intervention - 15 sept. 2006 à 16:08
0
Merci
Je cherche également a intercepter ce type d'erreur, mais pas sur un fichier. Je vais récupérer la souce d'une page Internet et ensuite je la traite. J'ai une fonction qui vérifie si je suis connectée a Internet, donc j'intercepte déjà les erreurs de sockets relié a ca. Par contre, ce que je ne peux pas gérer (encore), c'est si la page, elle, dont je vais chercher la souce, n'est pas disponible. Pour des raisons x, ca arrive.. lenteur du net (sympatico, au quebec, ca rame pas mal) etc...

comment je peux faire pour que ca popup pas les erreurs ? je veux juste qu'il fasse rien du tout au lieu de faire un message d'erreur. Au mieux, je vais faire changer l'icone dans mon systray de couleur pour dire qu'il y a une erreur reseau...

si quelqu'un peut m'aider, merci.
Commenter la réponse de reveur23

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.