[Lazarus-es] Refresh no funciona (SOLUCIONADO)

francisco prieto fajprieto en gmail.com
Vie Ago 14 21:21:53 CEST 2015


Maxi te reenvio las respuestas...

Bueno finalmente lo solucione.
> Expongo el codigo completo de la solucion...
> procedure TfrmPesaje.olePuertoRxData(Sender: TObject);
> var
>   llTramaGenerada:boolean;
>   lcLecturaReal:string;
> begin
>   llTramaGenerada:=loDrvW180T.llTramaGenerada;
>   if llTramaGenerada=True then
>       begin
>         loDrvW180T.analizarTrama;
>         if loDrvW180T.llTramaValida then
>            MostrarPeso;
>         sleep(1000);  <== Si esta linea no esta se presenta el mismo error
> que tenia
>         loDrvW180T.limpiarTrama;
>       end
>   else
>       begin
>        lcLecturaReal:=  olePuerto.ReadData;
>        loDrvW180T.armarTrama(lcLecturaReal);
>       end
> end;
> El sleep, detiene en cierta forma la recepcion y permite que se refresquen
> los controles. Tanto a la rutina como a mi se ve que nos faltaba sueño :D
> Muchisimas gracias a todos por los aportes.



Daniel,
> El objeto que uso para leer el puerto es LazSerial, y ese objeto no
> permite regular la frecuencia con la que se lee el puerto, lo que si, el
> sleep lo baje de 1000 a 200 milisegundos, y creo que si lo bajo un poco mas
> va a funcionar, pero 200 milisegundos ya es un tiempo razonable y no tuve
> que agregarle un timer.
> Asi que me gusto mucho como quedo.
> Ahora estoy haciendo clases y subclases para separar las funcionalidades
> ya que el sistema trabaja con 4 modelos distintos de balanza seriales.
> Por otra parte lo bueno de LazSerial es que funciona muy bien en Windows y
> en Ubuntu, en ambos es muy rapido, solo habia que dar en la tecla de cual
> era el inconveniente.


Saludos y gracias,

Pancho
Córdoba
Argentina
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20150814/23fdc0cf/attachment-0002.html>


More information about the Lazarus-es mailing list