Página 1 de 1

RETARDO EN BROWSE

Publicado: Mar Jul 05, 2011 10:17 am
por Arturo
Buenas,
resulta que tengo un browse en un form, en el cual existen tres columnas que
"pintan" unos bmp en el evento ongetdata() de cada una de ella.
Ese evento lanza una consulta sql para obtener un reSultado y asi "pintar"
un bmp u otro.
El problema es que cuando abro un sub-formulario de detalle al hacer doble
click en un registro de ese browse, y al intentar moverlo, va lentisimo,
parece que hace un "repintado" de las columnas cada vez que le pasas el
formulario por encima y crea un efecto de retardo bastante desagradable.
Si ese formulario se abre lejos del formulario principal (que no este
encima), no hay ningun problema.
Se podría bloquear de alguna manera el repintado de ese browse cuano abro un
sub- formulario????
He probado con disabled(), savestate() y nada....
Alguna ayuda.
Gracias.

RETARDO EN BROWSE

Publicado: Mar Jul 05, 2011 11:36 am
por ignacio
Arturo escribió el mar, 05 julio 2011 10:17Buenas,
resulta que tengo un browse en un form, en el cual existen tres columnas que
"pintan" unos bmp en el evento ongetdata() de cada una de ella.
Ese evento lanza una consulta sql para obtener un reSultado y asi "pintar"
un bmp u otro.
El problema es que cuando abro un sub-formulario de detalle al hacer doble
click en un registro de ese browse, y al intentar moverlo, va lentisimo,
parece que hace un "repintado" de las columnas cada vez que le pasas el
formulario por encima y crea un efecto de retardo bastante desagradable.
Si ese formulario se abre lejos del formulario principal (que no este
encima), no hay ningun problema.
Se podr�a bloquear de alguna manera el repintado de ese browse cuano abro un
sub- formulario????
He probado con disabled(), savestate() y nada....
Alguna ayuda.
Gracias.
Me temo que no se puede. No obstante deberí­a ser muy sencillo incluir el resultado de la 'Select' de dicha columna en el 'Select' general del Browse. En caso contrario le recomiendo que utilice un TMemDataset añadiendo un campo virtual en la primera select. Por ejemplo:
SELECT ......, 0 AS ColBitmap FROM .....
Luego no tiene más que asignar el campo ColBitmap una vez.
Un saludo

RETARDO EN BROWSE

Publicado: Mar Jul 05, 2011 12:20 pm
por Arturo
De acuerdo,
probaré la opción de incluirlo en la select del dataset del browse.
Gracias
"Ignacio Ortiz de Zúñiga" <nonametoavoidspam@xailer.com> escribió
en el mensaje news:4e12db02$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Arturo escribió el mar, 05 julio 2011 10:17
>> Buenas,
>> resulta que tengo un browse en un form, en el cual
>> existen tres columnas que "pintan" unos bmp en el evento ongetdata() de
>> cada una
>> de ella.
>> Ese evento lanza una consulta sql para obtener un
>> reSultado y asi "pintar" un bmp u otro.
>> El problema es que cuando abro un sub-formulario de
>> detalle al hacer doble click en un registro de ese browse, y al intentar
>> moverlo, va lentisimo,
>> parece que hace un "repintado" de las columnas cada vez
>> que le pasas el formulario por encima y crea un efecto de retardo
>> bastante desagradable.
>> Si ese formulario se abre lejos del formulario principal
>> (que no este encima), no hay ningun problema.
>> Se podr?a bloquear de alguna manera el repintado de
>> ese browse cuano abro un sub- formulario????
>> He probado con disabled(), savestate() y nada....
>> Alguna ayuda.
>> Gracias.
>
>
> Me temo que no se puede. No obstante debería ser muy
> sencillo incluir el resultado de la 'Select' de dicha
> columna en el 'Select' general del Browse. En caso contrario
> le recomiendo que utilice un TMemDataset añadiendo un campo
> virtual en la primera select. Por ejemplo:
>
> SELECT ......, 0 AS ColBitmap FROM .....
>
> Luego no tiene más que asignar el campo ColBitmap una vez.
>
> Un saludo
>
> --
> Ignacio Ortiz de Zúñiga
> [Equipo de Xailer/Xailer team]
> http://www.xailer.com
> http://www.xailer.info