Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Delphi para la web
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-08-2012
webmasterplc webmasterplc is offline
Miembro
 
Registrado: mar 2008
Posts: 274
Poder: 17
webmasterplc Va por buen camino
Error Al Hacer peticiones get desde un form

Buenas Tengo un inconveniente estoy haciendo algo para peticiones get desde delphi pero al llamar el procedimiento me da este error
raised exception class eidhttpprotocolexception with message

el codigo de la unidad es:
Código Delphi [-]
unit UnitEnvio;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,  StdCtrls, Buttons, shellapi, IdHTTP,
  ComCtrls, OleCtrls, SHDocVw;

type
  TForm1 = class(TForm)
    btn1: TButton;
    mmo1: TMemo;
    edtusuario: TEdit;
    edtpass: TEdit;
    edtcel: TEdit;
    edturl: TEdit;
    edt1: TEdit;

    function componerURLFinal () : string;
    procedure mmo1Exit(Sender: TObject);
    procedure btn1Click(Sender: TObject);



  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
function enviarSMS (url : string) : string;
var
  obtenerHTTP : TidHTTP;
  web : TStringList;
begin
  web := TStringList.Create;
  obtenerHTTP := TidHTTP.Create(nil);
  try
    web.Text := obtenerHTTP.Get(url);
  except
    on e: exception do
    begin
      obtenerHTTP.Free;
    end;
  end;
  enviarSMS := web.Text;
end;

function Tform1.componerURLFinal;
var
  url, numeroTelefono, mensaje, usuario, contrasena : string;
  urlFinal : string;
begin
  url := 'http://localhost/webservices/SendSms';
  numeroTelefono := edtcel.Text;
  mensaje := mmo1.Text;
  usuario := edtusuario.Text;
  contrasena := edtpass.Text;

  urlFinal := url + '/?phonenumber=' + numeroTelefono +
      '&mensaje=' + mensaje +
      '&user=' + usuario + '&password=' + contrasena;

  edturl.Text := urlFinal;
end;




procedure TForm1.mmo1Exit(Sender: TObject);
begin
componerURLFinal;
end;

procedure TForm1.btn1Click(Sender: TObject);
var
  web:TStringList;
begin
web.text:= enviarSMS(edturl.Text);
end;

end.
Responder Con Cita
  #2  
Antiguo 06-08-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Sería bueno que indicaras exactamente en qué parte del código se produce el error.

Mientras tanto, algo que puedo comentarte es que tu línea

Código Delphi [-]
obtenerHTTP.Free;

en la función enviarSMS debe estar protegida no por un bloque try-except, sino por uno try-finally. Si requieres ambas cosas, manejar excepciones y proteger recursoos, entonces puedes anidar un bloque dentro de otro:

Código Delphi [-]
try
  try
    { Código }
  except
    { Manejo de excepciones }
  end;
finally
  { Liberación de recursos }
end;

Tal como lo tienes, tu objeto sólo se destruirá en caso de una excepción, pero en un caso normal no.

// Saludos
Responder Con Cita
  #3  
Antiguo 06-08-2012
webmasterplc webmasterplc is offline
Miembro
 
Registrado: mar 2008
Posts: 274
Poder: 17
webmasterplc Va por buen camino
Hermano aca adjunto el en la captura de pantalla

Última edición por webmasterplc fecha: 06-08-2012 a las 06:37:47.
Responder Con Cita
  #4  
Antiguo 06-08-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Sí bueno, pero qué línea de código es la que produce el errror?

Por otro lado, mencionas

Cita:
Empezado por webmasterplc
el procedimiento me da este error
raised exception class eidhttpprotocolexception with message
¿No se indica cuál es el mensaje en específico?

// Saludos
Responder Con Cita
  #5  
Antiguo 06-08-2012
webmasterplc webmasterplc is offline
Miembro
 
Registrado: mar 2008
Posts: 274
Poder: 17
webmasterplc Va por buen camino
el error esta en la linea 1702 de la unida idhttp (Debe ser en lo sIndy) aca esta el error coompleto esto sucede al darle clik al boton
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
llamar al evento click de un boton q se encuentra en un form desde otro form TURBOIGOR OOP 6 02-12-2008 14:50:16
Como llamar form desde otros form y regresar a la linea que se estaba ejecutando Willy Rodrigo C++ Builder 1 03-08-2007 19:36:23
Ajax.class.js - Sencilla forma de hacer peticiones HTTP en segundo plano dec PHP 10 11-01-2007 03:50:49
Librería para hacer peticiones HTTP para delphi 5 rlago Internet 3 06-11-2006 10:28:18
Imposible hacer visible un form desde otro form SMTZ .NET 13 16-01-2006 21:41:08


La franja horaria es GMT +2. Ahora son las 09:55:11.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi