PDA

Ver la Versión Completa : LiveBinding en Delphi XE5


mjjj
03-10-2013, 17:43:14
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
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:

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
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 ;)

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
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
...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

...Siempre se aprende algo nuevo

En eso coincidimos...^\||/

Saludos cordiales

egostar
04-10-2013, 00:33:15
Pero estimado Egostar usted con este tipo de cosas...:mad:

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


http://www.delphiaccess.com/forum/Smileys/MSN/shocked.gif http://www.delphiaccess.com/forum/Smileys/MSN/lipsrsealed.gif

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


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
.... 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
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.