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.
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Page:lRedraw
Page:lRedraw
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
> 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
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
>
> 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