Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > FireMonkey
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-11-2020
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 19
ElDioni Va por buen camino
Velocidad de carga en TGrid y TStringGrid

Buenas a todos,

hoy, por primera vez, me he puesto a desarrollar una aplicación multiplataforma para windows y mac. Estoy utilizando componentes de conexión FDConnection a una base de datos en un servidor windows server 2019 que tiene una base de datos MySQL.

Cuando creo el proyecto veo que, para que funcione en las dos plataformas, puedo utilizar el TGrid y el TStringGrid para visualizar los datos de un FDQuery, el caso que me ocurre es que, si no enlazo el FDQuery a ninguno de los componentes de visualización y le doy a Activate:=true, tarda poco en traer los datos del servidor, cuando lo enlazo tarda un minuto largo en pintar la información en estos grids, si en lugar de utilizar estos elementos cojo, los mismos componentes de conexión (FDConnection y FDQuery) pero en una aplicación VCL con un TDBGrid, el pintado es prácticamente instantáneo.

El enlace en la aplicación multi se hace automáticamente en bindvisually arrastrando el DataSet al Grid, da igual que el que sea, TGrid o TStringGrid, con los dos tarda muchísimo.

¿Hay algo que esté haciendo mal?, ¿Tendría que utilizar otro tipo de componente de terceros?.

En fin que no sé que hacer, si a alguno se le ocurre algo agradecería la ayuda.

Saludos.
__________________
Confórmate con lo que tienes pero anhela lo que te falta.
Responder Con Cita
  #2  
Antiguo 06-11-2020
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
¿Has utilizado EnableControls/DisableControls?
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 06-11-2020
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 19
ElDioni Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
¿Has utilizado EnableControls/DisableControls?
Hola Germán,

lo siento pero no sé a que te refieres.

¿Podrías ilustrarme?

Saludos.
__________________
Confórmate con lo que tienes pero anhela lo que te falta.
Responder Con Cita
  #4  
Antiguo 06-11-2020
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 19
ElDioni Va por buen camino
Hola de nuevo,

he visto que es una propiedad que lleva el dataset, lo he puesto sin más antes de hacer la consulta (fdquery1.enablecontrols, si es así como se utiliza no ha hecho nada, sigue igual de lento.

Saludos.
__________________
Confórmate con lo que tienes pero anhela lo que te falta.
Responder Con Cita
  #5  
Antiguo 06-11-2020
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

El uso sería al revés, DisableControls antes de efectuar la consulta y EnableControls una vez realizada.
Código Delphi [-]
  fdquery1.DisableControls;
  try
    // acciones pertinentes
    // ...
  finally
    fdquery1.EnableControls;
  end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 07-11-2020
el-mono el-mono is offline
Miembro
 
Registrado: abr 2008
Ubicación: Lules
Posts: 176
Poder: 17
el-mono Va por buen camino
Hola ElDioni yo personalmente tengo una aplicacion para windows y macOS bajo Firemonkey hace 5 años y va de pelos je, la verdad Livebindings no me gusta nada de nada prefiero hacer las consultas y llenar las grillas a mano, te recomiendo si podes dentro de tus posibilidades adquirir las grillas de TMSsoftware y los controles OrangeUI Free que son increibles.
Responder Con Cita
  #7  
Antiguo 09-11-2020
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 19
ElDioni Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola.

El uso sería al revés, DisableControls antes de efectuar la consulta y EnableControls una vez realizada.
Código Delphi [-]
  fdquery1.DisableControls;
  try
    // acciones pertinentes
    // ...
  finally
    fdquery1.EnableControls;
  end;

Saludos
Buenos días,

he probado como me comentas y no ha mejorado nada, estoy cargando la información en un StringGrid ya que con TGrid me salta un error al intentar enlazar los datos que reza así:

"Cannot change this property when using livebindings"

Voy a echar un vistazo a los componentes que proponía el compañero a ver que me encuentro.

Saludos.
__________________
Confórmate con lo que tienes pero anhela lo que te falta.
Responder Con Cita
  #8  
Antiguo 09-11-2020
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Tal vez si pones el código que usas para mostrar los datos podamos afinar un poco más.
Estamos dando palos de ciego.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #9  
Antiguo 09-11-2020
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 20
movorack Va camino a la famamovorack Va camino a la fama
Puede que lo que esté sucediendo es que al usar livebindings, estás obteniendo todos los datos de la tabla.

Normalmente, si estableces la propiedad PacketRecords de un TClientDataset, obtendrás grupos de registros según lo requieras. En cambio con LiveBindings, al parecer esto no funciona así. Aclaro que no he leído documentación al respecto y puede que no haya establecido alguna propiedad que respete la cantidad de registros obtenidos.

Hice una prueba, con Firebird. Una tabla de 1000 registros y 2 ClientDatasets. El primero asociado a una Tgrid con LiveBindings y el segundo sin asociar. Ambos con la propiedad PacketRecords = 50.

Al abrir ambos datasets, el resultado del RecordCount es: El asociado a LiveBindings = 1000 y el otro = 50.
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #10  
Antiguo 10-11-2020
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 19
ElDioni Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Tal vez si pones el código que usas para mostrar los datos podamos afinar un poco más.
Estamos dando palos de ciego.
No tengo código, está todo creado en diseño, están todos los objetos en el formulario y lo único que hago es, en un botón, poner Active:=true el dataset.

Los objetos que hay son, un FDConnection, un FDQuery, un StringGrid, un FDPhysMySQLDriverLink, un BindSourceDB, un BindingsList (estos dos últimos me los crea automáticamente al enlazar el FDQuery con el StringGrid en el bindvisually) y un button.

Saludos.
__________________
Confórmate con lo que tienes pero anhela lo que te falta.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
INFO: DLL's, BPL's, carga dinámica, carga estática y Packages en Runtime Neftali [Germán.Estévez] OOP 26 13-12-2013 19:29:55
Cambiar Font de una TGrid Neeruu FireMonkey 6 16-09-2013 17:02:47
Formato de fechas en tgrid vicentnew FireMonkey 2 09-09-2013 19:06:21
Como graficar 3D con TGrid? JuanErasmo C++ Builder 3 04-12-2005 09:36:30
ordenar la informacion en un tgrid Giniromero Conexión con bases de datos 2 18-06-2003 12:47:20


La franja horaria es GMT +2. Ahora son las 14:10:45.


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
Copyright 1996-2007 Club Delphi