Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-10-2010
petete2008 petete2008 is offline
Miembro
 
Registrado: oct 2008
Posts: 109
Poder: 16
petete2008 Va por buen camino
reintentar a las 20 minutos si la conexion con la web falla

hola,
estoy usando delphi 7 y haciendo una aplicación que me abra una url desde delphi y que si en 30 segundos no se carga ( por ejemplo : servidor ocupado ) me aparezca un mensaje en pantalla diciendo que no ha sido posible establecer conexión con la página.
Pongo el tope de 30 segundos porque hay unas páginas que tardan más que otras en cargar.

La segunda parte es que reintente a los 20 minutos, pero de momento me conformo con conseguir la primera parte porque la segunda creo que sería capaz de hacerlo con un TIMER.

Gracias de antemano a cualquier ayuda.
Responder Con Cita
  #2  
Antiguo 22-10-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
¿Cómo estás haciendo la carga de la página?
¿Algun componente? ¿Externo, con ShellExecute?
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 22-10-2010
petete2008 petete2008 is offline
Miembro
 
Registrado: oct 2008
Posts: 109
Poder: 16
petete2008 Va por buen camino
Código:
function DownloadToStream(Url: string; Stream: TStream): Boolean;
var
  hNet: HINTERNET;
  hUrl: HINTERNET;
  Buffer: PChar;
  BytesRead: DWORD;
  i: Integer;
begin
  Result := FALSE;
  hNet := InternetOpen('agent', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
  if (hNet <> nil) then
  begin
    hUrl := InternetOpenUrl(hNet, PChar(Url), nil, 0,
      INTERNET_FLAG_RELOAD, 0);
    if (hUrl <> nil) then
    begin
      GetMem(Buffer,100*1024);
      try
        while (InternetReadFile(hUrl, Buffer, 100*1024, BytesRead)) do
        begin
          if (BytesRead = 0) then
          begin
            Result := TRUE;
            break;
          end;
          // Aqui sustituimos el caracter nulo por un espacio
          for i:= 0 to BytesRead - 1 do
            if Buffer[i] = #0 then
              Buffer[i]:= #32;
          Stream.WriteBuffer(Buffer^,BytesRead);
        end;
      finally
        FreeMem(Buffer);
      end;
      InternetCloseHandle(hUrl);
    end;
    InternetCloseHandle(hNet);
  end;
end;

    try
      DownloadToStream(url,Stream);
      Memo1.Lines.Text:= Stream.DataString;
    finally
      Stream.Free;
 
    end;
Quiero que si la web no responde, en 30 segundos se detenga y se quede a la espera durante 30 minutos hasta que vuelva a intentarlo de nuevo.
Gracias
Responder Con Cita
  #4  
Antiguo 22-10-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
¿Y cuando tarda más de 30 segundos en qué punto de ese procedimiento se queda parado?
¿los has ejecutado paso a paso?
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 22-10-2010
petete2008 petete2008 is offline
Miembro
 
Registrado: oct 2008
Posts: 109
Poder: 16
petete2008 Va por buen camino
lo he solucionado con un
try
...
except
..
finally

de esta forma si no conecta con la web por el motivo que sea me lleva a otras sentencias donde puedo indicarle que vuelva a intentarlo pasados 30 minutos.

gracias!!
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
falla conexion mysql jaimeh MySQL 3 06-05-2010 13:34:24
conexion de internet falla en la red m8estrella83 Redes 3 11-02-2010 20:47:37
Cuando falla la conexión JLR Conexión con bases de datos 8 31-10-2007 12:56:32
Conexion a firebird Falla Paoti Conexión con bases de datos 7 11-05-2004 21:35:33


La franja horaria es GMT +2. Ahora son las 22:18:09.


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