Página 1 de 1

Page:lRedraw

Publicado: Vie Jul 07, 2006 5:07 pm
por jose.luis
Hola,
Entiendo que si a un page (página de un control tPages) le indico lRedraw :=
..F. significa que ese control y los que cuelgan de él no reciben mensajes de
re/pintado hasta que lRedraw sea .T.
Suponiendo que eso sea cierto, me he encontrado que en un Page que contiene
un ArrayBrowse (alTOP) un splitter y un dbBrowse (alCLIENT), éste ultimo
dbBrowse se repinta siempre. El dbBrowse se 'reconstruye' alimentado por un
tMemdataset que se crea en tiempo de ejecución. Entonces, aunque haya
puesto oPage:lRedraw := .F., veo como el dbBrowse se reconstruye (quita las
cabeceras y las vuelve a poner).
Lo he solucionado poniendo explicitamente odbBrowse:lRedraw := .f.
¿Es correcto el comportamiento del dbBrowse?
Saludos,
José Luis Capel
PD: espero haberme explicado bien... no siempre es fácil.

Page:lRedraw

Publicado: Vie Jul 07, 2006 5:11 pm
por jfgimenez
José Luis,
> Entiendo que si a un page (página de un control tPages) le indico lRedraw
> := .F. significa que ese control y los que cuelgan de él no reciben
> mensajes de re/pintado hasta que lRedraw sea .T.
>
> Suponiendo que eso sea cierto, me he encontrado que en un Page que
> contiene un ArrayBrowse (alTOP) un splitter y un dbBrowse (alCLIENT), éste
> ultimo dbBrowse se repinta siempre. El dbBrowse se 'reconstruye'
> alimentado por un tMemdataset que se crea en tiempo de ejecución.
> Entonces, aunque haya puesto oPage:lRedraw := .F., veo como el dbBrowse se
> reconstruye (quita las cabeceras y las vuelve a poner).
>
> Lo he solucionado poniendo explicitamente odbBrowse:lRedraw := .f.
>
> ¿Es correcto el comportamiento del dbBrowse?
Recuerdo que esto mismo lo comentamos hace algún tiempo. En aquella ocasión
estuve haciendo pruebas, y llegué a la conclusión de que el API se lia
algunas veces cuando hay varios niveles de anidación de controles. Me temo
que es algo con lo que tenemos que vivir, aunque afortunadamente es algo que
se da muy rara vez.
--
Un saludo,
José F. Giménez
http://www.xailer.com

Page:lRedraw

Publicado: Vie Jul 07, 2006 5:44 pm
por jose.luis
José,
>
> Recuerdo que esto mismo lo comentamos hace algún tiempo. En aquella
> ocasión estuve haciendo pruebas, y llegué a la conclusión de que el API se
> lia algunas veces cuando hay varios niveles de anidación de controles. Me
> temo que es algo con lo que tenemos que vivir, aunque afortunadamente es
> algo que se da muy rara vez.
>
Ahora creo que recuerdo que te comenté algo hace algún tiempo... Mi memoria
comienza a fallar :-(
No obstante, en este caso creo que no hay más que un nivel de anidamiento en
el momento de mandar repintar. De hecho es en el momento de hacer un select
a un page concreto donde reconstruyo los dos browses (un arraybrowse y un
dbbrowse). Y no hay nada más que pintar.
En fin... ya lo tengo solucionado :-)
Saludos,
José Luis Capel