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 16-04-2004
soyhugo soyhugo is offline
Miembro
 
Registrado: ene 2004
Posts: 66
Poder: 21
soyhugo Va por buen camino
Unhappy conectar un programa delphi a una web

Esitmados señores, una vez más recurro a ustedes en busca de ayuda:
mi problema es el siguiente, yo quiero hacer un programa que cada x tiempo cargue en un string (pj un richedit), una determinada página web, y hasta que ésta no se haya cargada, no hace una serie de operaciones sobre el texto obtenido.

para ello utlilizo un reloj que llama a una funcion cada minuto, esta funcion tiene la siguiente instruccion para cargar la página.

richedit1.Lines.Strings[1]:=idhttp1.Get('http://pagina web') ;
...
instrucciones que hacen cosas sobre el código obtenido.

el problema está en que algunas veces tarda en cargarse dicha página en el richedit, con lo que las instrucciones siguientes, no funcionan correctamente, parece que no esperan a que se cargue la página. cómo puedo solucionar esto. además, la forma de controlar que si ha pasado x tiempo y no se ha cargado la página, no pete la conexión del socket, sino que vuelva a intentar cargarla. gracias.
Responder Con Cita
  #2  
Antiguo 16-04-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
a mi me parece que el método Get debiera funcionar de forma sincrona... es decir, devolver el control a la aplicación hasta que haya terminado de ejecutarse. Para capturar cualquier problema que se de con los sockets, podes encerrar la llamada a get en un bloque try/except/end y darle el tratamiento adecuado.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 16-04-2004
soyhugo soyhugo is offline
Miembro
 
Registrado: ene 2004
Posts: 66
Poder: 21
soyhugo Va por buen camino
alguna idea más?

lo del socket ya lo sabía, el problema está en como hago para que vuelva a ejecutarse la carga de la página. y con respecto a lo de ejecutarse la llamada en forma síncrona, no me funciona, porque imagino que es como lo tengo programado ahora.
Responder Con Cita
  #4  
Antiguo 16-04-2004
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
El compañero jachguate no te estaba sugiriendo que realzaras la llamada en forma sincrónica sino que te estaba afirmando un hecho: las componentes Indy trabajan sincrónicamente y esto se supone que quiere decir que la llamada a Get no regresa sino hasta que termina de cargarse completamente la página razón por la cual es extraño que se ejecuten otro procedimientos antes de terminarse la carga.

// Saludos
Responder Con Cita
  #5  
Antiguo 16-04-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
para que vuelva a ejecutarse la cárga de la página... podes hacer algo como:

Código:
var
  Error : Boolean;

Begin
  repeat
    Error := False;
    try
      richedit1.Lines.Strings[1]:=idhttp1.Get('http://pagina web') ;
    except
      on Exception do
      Begin
         Error := True;
         Tratar_Informar_o_ignorar_Error;
      end;
    end;
  until not Error;
  otrasOperaciones;
End;
Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
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


La franja horaria es GMT +2. Ahora son las 20:44:08.


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