Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-03-2012
MLROJO MLROJO is offline
Miembro
 
Registrado: jul 2004
Ubicación: Granada
Posts: 26
Poder: 0
MLROJO Va por buen camino
Problema con hilo y pantalla inactiva

Hola,

Os comento, estoy desarrollando una aplicación a la que pretendo introducirle una funcionalidad que consiste en realizar una serie de tareas en modo background, a la vez que se ejecuta y puede interactuar el usuario con ella, sin que se la bloquee.

Pues bueno, para ello he creado una clase nueva, que desciende de TThread:

Código Delphi [-]
  TListaThread = class(TThread)
  private
  lst: TCheckListBox;
  protected
    procedure Execute; override;
    procedure Listar;
  public
    constructor Create(Box: TCheckListBox; ThreadPriority: TThreadPriority);
  end;

Con sus respectivos metodos:

Código Delphi [-]
constructor TListaThread.Create(Box: TCheckListBox; ThreadPriority: TThreadPriority);
begin
  inherited Create(False);
  lst := box;
end;

procedure TListaThread.Execute;
begin
  Synchronize(Listar);
end;

procedure TListaThread.Listar();
begin
  Sto_SearchDirectory(lst.Items, 'c:\','*.txt', true,true);
end;

Donde Sto_SearchDirectory es una función que devuelve los ficheros encontrados según la ruta y demás opciones.

Por otra parte desde el formulario, defino la variable y creo el hilo:

Código Delphi [-]
var
  TLi1 :TListaThread;

Código Delphi [-]
procedure TFormMain.Button1Click(Sender: TObject);
begin
  TLi1 := TListaThread.Create(CheckListBox1, tpNormal);
end;

Todo funciona bien, el problema está en que el formulario queda "colgado" mientras se ejecuta, es decir, no hay diferencia entre hacerlo así y poner directamente el Sto_SearchDirectory sin crear el hilo, etc..

Que hago mal? o es así y con esto no se consigue lo que quiero?

Gracias,

Saludos.
Responder Con Cita
 



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
Realizar acciones con la ventana del programa inactiva Furyxe Varios 6 24-01-2012 22:08:01
cuando llamo ejecutar un hilo dentro del proceso del hilo no lo hace robertosc Varios 1 14-08-2007 22:11:09
Problema al editar un hilo con código fuente jmariano Varios 2 28-08-2005 23:12:06
Dejar una ventana en segundo plano inactiva vhirginia Varios 7 22-04-2004 13:46:43


La franja horaria es GMT +2. Ahora son las 22:20:01.


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