Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Desarrollo en Delphi para Android (https://www.clubdelphi.com/foros/forumdisplay.php?f=57)
-   -   LiveBinding en Delphi XE5 (https://www.clubdelphi.com/foros/showthread.php?t=84305)

mjjj 03-10-2013 17:43:14

LiveBinding en Delphi XE5
 
Estimados, he instalado y estoy probando Delphi XE5 para desarrollar aplicaciones para Android.
Siguiendo los ejepmplos, logré conectarme a un servidor DataSnap que tengo corriendo, sin embargo, me ocurre algo extraño.
He intentado visualizar en un TListView un TClientDataSet por medio de LiveBinding (TBindSourceDB), pero solo me muestra una cierta cantidad de registros.
Porque podrá ser esto, alguien ha tenido algún problema parecido??
Gracias.

egostar 03-10-2013 17:52:05

Cita:

Empezado por mjjj (Mensaje 467784)
Estimados, he instalado y estoy probando Delphi XE5 para desarrollar aplicaciones para Android.
Siguiendo los ejepmplos, logré conectarme a un servidor DataSnap que tengo corriendo, sin embargo, me ocurre algo extraño.
He intentado visualizar en un TListView un TClientDataSet por medio de LiveBinding (TBindSourceDB), pero solo me muestra una cierta cantidad de registros.
Porque podrá ser esto, alguien ha tenido algún problema parecido??
Gracias.

Eso es porque en la propiedad BufferCount de tu TBindSourceDB tiene asignado 200, lo que yo hago para "corregir" ese detalle es en tiempo de ejecución asignar el total de registros a esa propiedad, por ejemplo:

Código Delphi [-]
TBindSourceDB.BufferCount := ClientDataSet1.RecordCount;

Algo así, no tengo mi Delphi XE5 a la mano.

Saludos

jhonny 03-10-2013 18:06:54

Interesante dato, no lo conocía... sin embargo considero que debemos optimizar al máximo la cantidad de información que traen nuestros DataSets, ya que estamos tratando con dispositivos más limitados en cuanto a su capacidad.

mjjj 03-10-2013 18:09:00

Por mas que busco las propiedades no he podido encontrar nada con buffer, record, packet, etc...
No recuerdas exactamente donde encontrarlo, o el nombre ??

Gracias.

egostar 03-10-2013 18:16:26

Cita:

Empezado por jhonny (Mensaje 467790)
Interesante dato, no lo conocía... sin embargo considero que debemos optimizar al máximo la cantidad de información que traen nuestros DataSets, ya que estamos tratando con dispositivos más limitados en cuanto a su capacidad.

Asi es, por eso es que tiene 200 registros ;)

Cita:

Empezado por mjjj (Mensaje 467792)
Por mas que busco las propiedades no he podido encontrar nada con buffer, record, packet, etc...
No recuerdas exactamente donde encontrarlo, o el nombre ??

No tengo mi XE5 a la mano, lo que recuerdo es que no es a primer nivel es un item de alguna propiedad, me parece que debe estar en la parte del dataset.

Saludos

mjjj 03-10-2013 19:03:00

He revisado todos las propiedades de todos los niveles de los componentes TClientDataSet, TBindingsList, TBindSourceDB y TListView, pero no lo encuentro !!!
Será que no es al misma versión de Delphi, yo estoy probando XE5, con una licensia Trial.

Ayuda !!!

jhonny 03-10-2013 19:21:14

Encontré esa propiedad en el objeto LinkFillControlToField1 que se crea automáticamente cuando se utiliza el VisualDataBiding. No se si sea esa a la que se refiere Eliseo.

jhonny 03-10-2013 19:28:15

Es más, hay una propiedad llamada AutoBufferCount de tipo Boolean, que supongo que si se activa, hace de forma implícita lo que Elíseo sugirió más arriba... claro, si es que estoy en el camino correcto.

mjjj 03-10-2013 19:50:14

Exactamente es lo que necesitaba, es un componente (TLinkControlToField) que se visualiza en el LiveBiding Designer, basto con cambiar la propiedad AutoBufferCount a True, y me mostró todos los registros.

Gracias.

egostar 03-10-2013 19:53:04

Cita:

Empezado por mjjj (Mensaje 467800)
Exactamente es lo que necesitaba, es un componente (TLinkControlToField) que se visualiza en el LiveBiding Designer, basto con cambiar la propiedad AutoBufferCount a True, y me mostró todos los registros.

Gracias.

Exacto, me faltó esa propiedad, aunque yo utilizaba las dos, ahora sé que con sólo usar la primera es suficiente. Siempre se aprende algo nuevo ^\||/

Saludos

jhonny 03-10-2013 21:45:38

Genial, que bueno que esta historia tuvo un final feliz... de todas maneras mjjj, no olvidemos que es mejor filtrar esos datos de alguna manera, ya que esos dispositivos carecen de las mismas cualidades de hardware que un PC.

cloayza 03-10-2013 23:12:12

Cita:

Empezado por egostar (Mensaje 467801)
...me faltó esa propiedad, aunque yo utilizaba las dos, ahora sé que con sólo usar la primera es suficiente. ^\||/

Pero estimado Egostar usted con este tipo de cosas...:mad:

Se me ha caido del pedestal en que lo tenía...:D:D

Cita:

Empezado por egostar (Mensaje 467801)
...Siempre se aprende algo nuevo

En eso coincidimos...^\||/

Saludos cordiales

egostar 04-10-2013 00:33:15

Cita:

Empezado por cloayza (Mensaje 467816)
Pero estimado Egostar usted con este tipo de cosas...:mad:

Se me ha caido del pedestal en que lo tenía...:D:D



¡Caramba! ya me decia mi padre, Todo poder conlleva una responsabilidad :D :D :D

Cita:

Empezado por cloayza (Mensaje 467816)
En eso coincidimos...^\||/

Saludos cordiales

Todos los días se aprende mi amigo, es lo mejor de la vida :)

Saludos

Julián 04-10-2013 09:06:48

Cita:

Empezado por jhonny (Mensaje 467805)
.... ya que esos dispositivos carecen de las mismas cualidades de hardware que un PC.


Pues el que tenía yo hasta ayer, antes de venderlo, lleva un quad core a 1.5Ghz y 2Gb de ram. :D :D

jhonny 04-10-2013 22:40:32

Cita:

Empezado por Julián (Mensaje 467836)
Pues el que tenía yo hasta ayer, antes de venderlo, lleva un quad core a 1.5Ghz y 2Gb de ram. :D :D

Bueno sí, pero pues osea :D, la idea es que nuestra aplicación funcione en la mayoría de maquinas. Pero pues sí el nicho es pura gente con esas super maquinas, pues adelante :D.


La franja horaria es GMT +2. Ahora son las 07:00:29.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi