sheorogath
Messages postés2448Date d'inscriptionsamedi 21 février 2004StatutModérateurDernière intervention29 janvier 2010
-
24 avril 2006 à 18:54
sheorogath
Messages postés2448Date d'inscriptionsamedi 21 février 2004StatutModérateurDernière intervention29 janvier 2010
-
25 avril 2006 à 14:10
bonjour ,
je debute un peu en delphi et je me retrouve bloquer avec une procedure utilisant un composant TIdHTTP :
voila le code de la procedure :
procedure Tfm_main.getHTTP(url : string);
var
response : string;
begin
ShowMessage(url);
IdHTTP1.Host := url;
IdHTTP1.Port := 80;
response := IdHTTP1.ConnectAndGetAll();
ShowMessage(response);
end;
j'ai une erreur socket error 11004 alors que l'host est bon
si vous aviez une idee...
merci
"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
Je viens de faire deux test avec la fonction suivante :
procedure TForm1.Button1Click(Sender: TObject);
var
response,url : string;
begin
url:=Edit1.text; // J'ai fais deux test avec www.google.fr et 66.249.87.104
ShowMessage(url);
IdHTTP1.Host := url;
IdHTTP1.Port := 80;
response := IdHTTP1.ConnectAndGetAll();
ShowMessage(response);
end;
Je n'ai eu aucune erreur : hormis que mon application était figée en voulant la fermée (mais si on ferme proprement IdHTTP : plus de soucis).
Peux etre que tu as pas paramétré ton composant IdHTTP ?
Peux être un probleme avec ta variable URL ?
Tu peux passer ton code stp que l'on fasse des tests ?
N'oublie pas de mettre un antifreeze sur ta form.
Excuse moi je faisais un petit projet. Comme je te l'ai dis précédemment j'ai fais une form avec juste un boutton et j'ai inclus ce petit code :
procedure TForm1.Button1Click(Sender: TObject);
var
response,url : string;
begin
url:=Edit1.text; // J'ai fais deux test avec www.google.fr et 66.249.87.104
ShowMessage(url);
IdHTTP1.Host := url;
IdHTTP1.Port := 80;
response := IdHTTP1.ConnectAndGetAll();
ShowMessage(response);
end;
Je n'ai pas eu le message d'erreur :"socket error 11004". J'ai donc cherché pourquoi tu l'avais eu : j'ai donc rentré http://www.google.fr puis //www.google.fr et là j'ai eu "socket error 11004". Donc si je me trompe pas ton erreur est levée si tu utilises juste www.google.fr.
Deux petits conseils si je peux :
-Les composants Indy sont parfois capricieux : il faut mieux utiliser avec Try Except Finally. Ca évite les plantages.
-Utilises un IdAntiFreeze pour pas bloquer ton application car Indy utilise les sockets bloquants.
Si tu recherches un petit composant pour afficher une page HTML il existe HTMLLite comme composant.
Si tu veux réaliser ton propre "navigateur" : tu peux utiliser un composant qui se trouve dans la palette (regarde à Internet) : c'est le TWebBrowser. Cependant il utilise l'apple d'Internet Explorer. C'est donc une limitation.
Si tu veux un petit exemple : IdHTTP et HTMLLite je dois en avoir un sous la main. Passe moi ton adresse mail de CS en MP et je te le Upload pour demain matin si je suis pas à la bourd comme ce matin (lol).
sinon je veux bien pour les exemple si ca te derange pas tu pourrais
les envoyer a cette adresse ( amoins que tu voi le bug avant ) :
daedric@hotmail.fr
+++
merci
"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"