Ver Mensaje Individual
  #1  
Antiguo 08-02-2008
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Reputación: 18
rolandoj Va por buen camino
Unhappy Problema descargando con Indy 10 y Delphi 2007 vía TidHTTP

Hola,

Estoy teniendo problemas para descargar un archivo en Delphi 2007 Update 1 con Indy 10. El código usado me funciona perfectamente con Delphi 4 e Indy 8, y muy probablemente también me funcionó con Delphi 2007. Les muestro el código y luego les explico :

Código Delphi [-]
Procedure GetWebFile(AnURL,AFileName:String);
Var
   TheFile:             TFilestream;
Begin
     TheFile := Nil;
     Try
        TheFile := TFilestream.Create(AFileName,fmCreate);
        idHTTP.Get(AnURL,TheFile);
     Finally
        TheFile.Free;
     End;
End;

Yo pasé hace meses la versión que tenía en Delphi 4 a Delphi 2007. Tuve muchísimos problemas; pero básicamente me funcionó. No estoy seguro si esta función en particular me trabajo; pero es probable. La versión en Delphi 2007 quedó abandonada y yo seguí con Delphi 4. Recientemente me
pidieron reactivarla; pero, justo antes, por un daño en mi equipo debí reinstalar todo, después de lo cual esta función no trabaja. Es importante aclarar que no es problema del servidor porque probé simultaneamente la versión en Delphi 4 y esa funciona muy bien.

La rutina en Delphi 2007 aparentemente trabaja, ya que no genera error (lo verifiqué incluso con Try-Except); pero el archivo creado queda con un tamaño de cero.

Una página de internet reportó que ese código no le funcionó en Delphi 2005 y sugirió una alternativa, que a ellos le funcionó. Basado en esa idea, probé este código :

Código Delphi [-]
procedure GetWebFile(AnURL,AFileName:String);
Var
   TheFile:             TMemoryStream ;
begin
     TheFile := Nil;
     Try
        TheFile := TMemoryStream.Create;
        idHTTP.Get(AnURL,TheFile);
        TheFile.SaveToFile(AFileName);
     Finally
        TheFile.Free;
     End;
End;

La rutina genera el mismo problema.

Es de anotar que el código fuente fué migrado idéntico a Delphi 2007, incluyendo el uso de Convert para pasar los Dfm de D4 a los de D2007.

Espero que puedan ayudarme porque en teoría el sistema estaba listo para pruebas y estoy muy sobre el tiempo

Gracias de antemano
Responder Con Cita