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 20-11-2010
Avatar de Shadowng
Shadowng Shadowng is offline
Registrado
 
Registrado: jun 2008
Posts: 9
Poder: 0
Shadowng Va por buen camino
incomodidad con indy

Buenas! quería hacer una pregunta un poco repetitiva con respecto a indy, he estado viendo en el foro y en otras partes y siempre me encuentro con el detalle de que al usar el TidHTTP para descargar archivo la ventana se pega, para solucionar esto pongo esto:

Código Delphi [-]
procedure TForm1.IdHTTPWork(ASender: TObject; AWorkMode: TWorkMode;
  AWorkCount: Integer);
begin
  Application.ProcessMessages;
  Label1.Caption := IntToStr(AWorkCount);
end;

pero solo se refresca la ventana al recibir datos... del resto se pone lenta o se pega... me gustaría saber si hay alguna forma de usar indy o bajar archivos de internet sin que pase esto que se congela la ventana.

Un saludo!
Responder Con Cita
  #2  
Antiguo 20-11-2010
manuc manuc is offline
Miembro
 
Registrado: abr 2010
Posts: 165
Poder: 15
manuc Va por buen camino
Hola Shadowng,

Si lo que quieres es que tu aplicación no se "congele" mientras descarga el fichero, tendrías que implementar el proceso de descarga en un hilo secundario.

De este modo, el hilo principal de tu aplicación quedaría libre y el secundario se encargaría de descargar el fichero.

Espero que te ayude.

Un saludo.
Responder Con Cita
  #3  
Antiguo 20-11-2010
Avatar de Shadowng
Shadowng Shadowng is offline
Registrado
 
Registrado: jun 2008
Posts: 9
Poder: 0
Shadowng Va por buen camino
gracias por la respuesta manuc, estaba pensando en algo así pero no se hacerlo en delphi xD ... estaba incluso pensando en usar cURL pero teniendo indy supongo que tener un .exe al lado de la app estaría de mas...

no estoy seguro como podría tener varios hilos en mi aplicación o.o por ahi lei algo de los thread (cuando trabaje en java era lo que me evitaba que se colgara la app en los bucles for y while) pero no entiendo como funcionan aqui

si tienes algún tutorial de los thread o thread e indy seria genial... (claro si es que se usa el thread para crear hilos independientes xD)
Responder Con Cita
  #4  
Antiguo 20-11-2010
Avatar de javier_ecf
javier_ecf javier_ecf is offline
Miembro
 
Registrado: sep 2010
Posts: 32
Poder: 0
javier_ecf Va por buen camino
El manejo de hilos en delphi no es muy diferente de otros lenguajes como Java o c++, basta con que heredes una clase TThread y juegues con las propiedades de prioridad y ejecucion.

Otra opcion seria usar Timers, es una solucion mas rapida con procedimientos sencillos.

Responder Con Cita
  #5  
Antiguo 22-11-2010
manuc manuc is offline
Miembro
 
Registrado: abr 2010
Posts: 165
Poder: 15
manuc Va por buen camino
Hola,

La verdad es que no tengo ningún manual y desconozco si habrá alguno en Internet, sobre cómo usar Delphi y TThreads.

Creo que si buscar Delphi y TThread en google, encontrarás varios artículos que te darán una idea muy clara de cómo programar un TThread con Delphi.

Lo de combinar TThreads e Indy, es cosa ya del ingenio. Yo te recomendaría, simplemente, que implementes un hilo secundario para la descarta y que dentro de este hilo crees un componente tidHTTP para realizar la descarga.

Espero haberte orientado un poco.

Un saludo.
Responder Con Cita
  #6  
Antiguo 23-11-2010
Avatar de Shadowng
Shadowng Shadowng is offline
Registrado
 
Registrado: jun 2008
Posts: 9
Poder: 0
Shadowng Va por buen camino
tranquilo manuc ya lo solucione! xD me costo un poco porque puse el Thread en otro .pas y eso no lo suelo hacer asi que fue algo un poco nuevo pero ya vi y anda perfecto el programa sobre todo con la sincronizacion entre el thread y la ventana :3
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
Ftp Indy odrack Varios 2 13-10-2010 03:54:40
Migrando de Indy 9 a Indy 10 edgwin Internet 2 05-07-2010 17:53:58
Ayuda con incompatibilidad del Post de TIdHTTP de Indy 8 con Indy 10 rolandoj Internet 13 24-12-2008 13:19:01
Como reemplazar Indy 10 por Indy 9 en Delphi 2007 ? rolandoj Internet 0 13-02-2008 18:44:31
Indy ArdiIIa Internet 5 20-11-2003 17:08:30


La franja horaria es GMT +2. Ahora son las 15:32:47.


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