[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