[Lazarus-es] Refresh no funciona
Iván gmail
iv.mesa.prg en gmail.com
Mie Ago 5 08:32:15 CEST 2015
Buenas.
A mi parecer el origen del problema debe ser la llamada de esa función.
Si estás leyendo datos desde un puerto serie, es posible que la lectura
se realice mediante un nuevo hilo, para no bloquear el hilo principal de
la aplicación mientras se reciben datos. Imagino que estarás usando
algún componente.
Para acceder a los elementos de la GUI desde un hilo que no es el
principal, hay que usar Synchronize(métodoqueaccedealaGUI) desde dentro
del código que controla el nuevo hilo.
Si estás usando algún componente, tendrá algún mecanismo para que le
pases una referencia de un método que quieras ejecutar.
Otra solución podría ser guardar en una variable public el peso en UpdPeso:
En lugar de txtPesoAct.Text := Float .... pones
PublicVar := Float....
Luego en un ontimer cada segundo puedes mirar si PublicVar tiene algo
disinto de 0 y ponerlo en tu txtPesoAct.
Abrazos.
El 05/08/2015 a las 3:54, Jesus Reyes escribió:
> El mar 4-ago-15, francisco prieto <fajprieto en gmail.com> escribió:
>
> > Martin,
>>
>> Sigue sin responder...
>>
>> Pero ojo vi que lo
>> que no se refresca es el valor porque si cambias por ejemplo
>> de enabled a disabled funciona...
>>
>> Ya probe con
>>
>> Refresh
>> Repaint
>> Update
>> Invalidate
>>
>> e incluso agregue un timer que haga
>> el refresco independientemente si cambia el valor o no.
>>
>> He podido comprobar
>> que si pongo un showmessage y en modo debug funciona... pero
>> si le quito el modo debug hasta que no le doy showmessage
>> desde otro campo no se actualiza el valor.
>>
>> Probe incluso con
>> el Texout de canvas y NO ANDA... Hasta se me ocurrio ponerlo
>> invisible y luego visible (ya que este es un error que da a
>> veces en VFP y no anda de todos modos).
>>
>> Alguna otra sugerencia?
>>
> No debería ser tan complicado, ni requerir de cosas sospechosas. Seguro algo esta por ahí fuera de lugar. A veces vale la pena dar un paso a tras e intentar otras cosas mas básicas. Por ejemplo, has tratado de reproducir el problema en un proyecto independiente? si es así, publícalo para intentarlo acá. Si en un proyecto simple no se puede reproducir, puedes aislar la parte necesaria de la aplicación para reproducir el problema y publicarla?
>
> Que versión de Lazarus (y revisión) usas? y de FPC?. En que sistema operativo? compilando el programa en que widgetset?. Perdón si pido datos que ya hayas especificado. Por cierto, con que frecuencia es llamado el metodo UpdPeso?, lnCantTramas es siempre 5?
>
> Jesus Reyes A.
>
>
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
More information about the Lazarus-es
mailing list