Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Hacer que la aplicación "respire" (https://www.clubdelphi.com/foros/showthread.php?t=62860)

Khronos 18-01-2009 18:06:59

Hacer que la aplicación "respire"
 
Hola, estoy utilizando el componente TidHttp con su método Post y funciona correctamente pero la aplicacion tarda unos segundos en volver a responder. Probe añadiendo en el evento OnWork

Código Delphi [-]
application.ProcessMessages;

Pero no hace efecto. Busqué en google y leí algo del componente TidAntiFreeze pero no me funciona ¿?


Saludos y gracias.

JXJ 18-01-2009 18:17:35

podrias usar hilos. y la accion que realizas, ejecutarla en un hilo.

Khronos 18-01-2009 18:23:08

Ya lo hice pero nada, sigue quedándose bloquedado durante unos segundos y solo pasa al descargar el contenido del html.

Código Delphi [-]
type
  THttpThread = class(TThread)
    private
      Http: TIdHttp;
      FPage: string;
      FIndex: integer;
      FBusqueda: string;
      procedure UpdateSearch;
      procedure OnWork(ASender: TObject; AWorkMode: TWorkMode; AWorkCount: Integer);
      procedure OnWorkBegin(ASender: TObject; AWorkMode: TWorkMode; AWorkCountMax: Integer);
      procedure OnWorkEnd(ASender: TObject; AWorkMode: TWorkMode);
    public
      constructor Create;
      procedure Execute(const Busqueda: string; index: integer); reintroduce;
  end;

Saludos.

JXJ 18-01-2009 20:14:11

otra seria probar con el indy 10.

si usas indy 9.. con la version 10 tal vez eso ya no pase.

xEsk 18-01-2009 22:54:39

Si tienes algun synchronized, vigila de no haber metido codigo "lento" ahi, ya que pierdes las "propiedades" de los hilos.

Saludos.


La franja horaria es GMT +2. Ahora son las 23:29:00.

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