[Lazarus-es] [Fpc] Refresh no funciona

Maxi maximiliano.duarte en gmail.com
Jue Ago 6 03:59:20 CEST 2015


que control es?

El 5 de agosto de 2015, 21:28, francisco prieto <fajprieto en gmail.com>
escribió:

> Miren hice lo siguiente y aun presenta el mismo error...
>
> 1) Agregue un hilo
>
>     { TMiHilo }
>
>     TMiHilo = class(TThread)
>     private
>       fStatusText: string;
>       procedure MostrarPeso;
>     protected
>       procedure Execute; override;
>     public
>       constructor Create(CreaSuspendido: boolean);
>     end;
>
> 2) En la definicion del formulario coloque esta propiedad como publica
>
>   public
>     lnPesoTot:real;
>
> 3) Agregue los procedimientos de mi hilo
>
> { TMiHilo }
> procedure TMiHilo.MostrarPeso;
> begin
>     frmPesaje.txtPesoAct.Text:=FloatToStr(frmPesaje.lnPesoTot);
>     frmPesaje.txtPesoAct.Refresh;
> end;
>
> procedure TMiHilo.Execute;
> var
>   newStatus : string;
>   aaa:string;
> begin
>   fStatusText := 'Ejecutando...';
>   while (not Terminated) and (true) do begin
>       sleep(2000);
>       fStatusText := 'Mostrando Peso ...';
>       Synchronize( @MostrarPeso );
>   end;
> end;
>
> constructor TMiHilo.Create(CreaSuspendido: boolean);
> begin
>   FreeOnTerminate := True;
>   inherited Create(CreaSuspendido);
> end;
>
> 4) Agregue una variable en el procedimiento de mi formulario denomidado
> UpdPeso
>
> MiHilo : TMiHilo;
>
> para poder hacer referencia a mi hilo.
>
> 5) Finalmente agregue el siguiente codigo en el procedimiento UpdPeso
>
>        //creamos el hilo, pero no lo iniciamos
>        MiHilo := TMiHilo.Create(True); // Con el parametro true no se
> inicia automaticamente
>        if Assigned(MiHilo.FatalException) then
>           raise MiHilo.FatalException;
>        //si no hay ninguna excepción lo iniciamos
>        MiHilo.Start;
>
> Compila perfecto pero solo actualiza cuando me muevo con el mouse sobre la
> barra de herramientas, como en los casos anteriores. O bien cuando muestro
> el ShowMessage.
>
> Se les ocurre algo mas?
>
> Saludos,
>
> Pancho
> Córdoba
> Argentina
>
> 2015-08-05 20:55 GMT-03:00 Martin Gomez <mmgomez en gmail.com>:
>
>> Con el Sincronize(UpdPeso) tampoco? Eso debería aislarte del
>> multithreading interno de LazSerial (si es que tiene)
>>
>>
>> --
>>>> Most good programmers do programming not because they expect to get paid
>> or get adulation by the public, but because it is fun to program.
>> ​ ​
>> *Linus Torvalds*
>>
>> _______________________________________________
>> Lazarus-es mailing list
>> Lazarus-es en lists.lazarus.freepascal.org
>> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>>
>>
>
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>
>


-- 
El que pregunta aprende, y el que contesta aprende a responder.

No a la obsolecencia programada:
http://www.rtve.es/noticias/20110104/productos-consumo-duran-cada-vez-menos/392498.shtml

Linux User #495070
http://domonetic.com/blog
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20150805/5776af7a/attachment-0002.html>


More information about the Lazarus-es mailing list