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 13-08-2010
Avatar de flystar
flystar flystar is offline
Miembro
 
Registrado: jul 2006
Posts: 184
Poder: 18
flystar Va por buen camino
Question Aprendiendo Hilos, (no corre como un hilo)

Hola Hermanos.

Estoy aprendiendo a programar hilos, hice un ejemplo muy simple
de un programa que cada segundo que pasa le cambia el titulo a una venta
a 1 y luego 2 y luego 3 y asi sucesivamente, el objetivo es que dicha acción
la haga por medio de un hilo de ejecución, y la forma de saber si lo esta haciendo así es que durante el proceso podamos arrastrar nuestra aventana
con el mouse o apretarle a otro boton y que haga algo simple como cambiar el color de la ventana etc, ustedes saben.

El problema es que al ejecutar el hilo...si funciona, pero no me libera la ventana, pareciera que no se estuviera ejecutando realmente en un hilo.

Quiero ver si alguien de alma caritativa me pudiera decir que estoy haciendo mal.

Enseguida tratare de explicar el código simple que uso:

Aqui, simplemente declaro un nuevo objeto de clase TThread:

Código:
type
  CambiaTituloEnHilo= class(TThread)
  private
    Procedure Actualiza_Ttitulo_Ventana;
    { Private declarations }
  protected
    procedure Execute; override;
  end;
Luego declaro el constructor que manda llamar al procedimiento del objeto hilo:

Código:
procedure CambiaTituloEnHilo.Execute;
begin
  Synchronize(Actualiza_Ttitulo_Ventana)
end;
Luego declaro el procedimiento Actualiza_Ttitulo_Ventana:

Código:
Procedure CambiaTituloEnHilo.Actualiza_texto;
var
inicio:integer;
begin
  inicio:=1;
  for inicio:=1 to 400 do
  begin
        form1.Caption:=inttostr(inicio);
        sleep(1000); //Espera un segundo
   end
end;
y luego para arrancar el hilo, pues solo creo un objeto de la clase
CambiaTituloEnHilo, esto puede ser al apretar un boton y cuando eso pase pues el constructor execute
se mandara llamar:

Código:
  MiHilo:=CambiaTituloEnHilo.Create(false);
y listo....pero que creen??? NO funciona jejeje
Osea si funciona..si cambia el titulo de la ventana pero me inhibe la ventana.

Pues que estoy haciendo mal?

Gracias.
__________________

"Los unicos que no se equivocan son aquellos que no intentan hacer algo."
Iván Caballero Cano...
ivanhalen77@gmail.com
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
¿Como paso el alias a un programa que corre en un PC sin delphi ? Parsec Conexión con bases de datos 4 06-06-2008 01:12:24
Como usar dbExpress en hilos ? rolandoj Conexión con bases de datos 7 05-03-2008 21:12:32
cuando llamo ejecutar un hilo dentro del proceso del hilo no lo hace robertosc Varios 1 14-08-2007 22:11:09
Como grabar mientras la aplicacion corre? principiante22 Varios 3 01-07-2007 19:12:01
Como detectar el S.Operativo donde corre Firebird pcicom Conexión con bases de datos 2 23-06-2005 23:16:30


La franja horaria es GMT +2. Ahora son las 04:22:16.


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