[Lazarus-es] [Fpc] Refresh no funciona

francisco prieto fajprieto en gmail.com
Jue Ago 6 04:13:10 CEST 2015


Tedit

El mié, 5 de agosto de 2015 22:59, Maxi <maximiliano.duarte en gmail.com>
escribió:

> 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
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20150806/a1af0a98/attachment-0002.html>


More information about the Lazarus-es mailing list