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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-10-2006
abracadabra abracadabra is offline
Miembro
 
Registrado: jul 2005
Posts: 30
Poder: 0
abracadabra Va por buen camino
No puedo ver cadena especificada en form1.caption

Hola a todos.
Estoy desarrollando una aplicación donde se tiene un thread que hace que se ejecute un evento. (Este evento puede ejecutarse varias veces). En dicho evento asigno una variable de tipo string a la propiedad caption del formulario (form1), es decir form1.caption:=variable; Esta variable (de tipo string) se modifica cada vez que se llama al evento. Por consiguiente cada vez que se llame al evento el caption del formulario se va a modificar.
El problema es que el caption no se visualiza (Si se visualiza la barra de título, pero no la cadena asignada a form1.caption en el evento).
He leido por ahí que existen maneras especiales para tratar con la VCL cuando se realizan aplicaciones con hilos (threads), pero no he podido encontrar una forma para solucionar este problema. Necesito de vuestra ayuda. Que puedo hacer????
Gracias de antemano.
Responder Con Cita
  #2  
Antiguo 24-10-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
No deberia dar problemas, si lo haces como dices, hice una pequeña prueba y a mi me funciona, talvez hay algun otro problema en el codigo, revisalo.
Saludos
Responder Con Cita
  #3  
Antiguo 25-10-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Tienes que usar el metodo Synchronize. Por ejemplo:
Código Delphi [-]
  
  TMyThread = class(TThread)
  private
    NuevoCaption: String;
    procedure Actualizar;
  protected
    procedure Execute; override;
  end;


procedure TMyThread.Actualizar;
begin
  Form1.Caption:= NuevoCaption;
end;

procedure TMyThread.Execute;
var
  i: integer;
begin
  for i:= 1 to 100 do
  begin
    NuevoCaption:= IntToStr(i);
    Synchronize(Actualizar);
    Sleep(100);
  end;
end;

El thread anterior, al ejecutarse, va cambiando el caption del formulario (form1) cada 100 milisegundos.
Responder Con Cita
  #4  
Antiguo 25-10-2006
abracadabra abracadabra is offline
Miembro
 
Registrado: jul 2005
Posts: 30
Poder: 0
abracadabra Va por buen camino
Muchas gracias Caral y Seoane por vuestra colaboración. Seoane he probado la solución que planteas y si da resultado
Una vez mas muchas gracias!!!!
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
Form1 Ultimo numero juanmaster SQL 5 01-09-2006 00:00:43
Application.Run VS Form1.Showmodal mmusashi Varios 15 09-08-2006 08:58:13
Poner una foto background en Form1 garth C++ Builder 2 09-03-2005 20:14:05
Form1 calambito Windows 4 23-04-2004 06:36:01
Buscar cadena dentro de otra cadena doverzhoff Varios 4 27-01-2004 05:27:15


La franja horaria es GMT +2. Ahora son las 16:43:24.


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