[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