Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-06-2007
Avatar de Peterman
Peterman Peterman is offline
Miembro
 
Registrado: jun 2006
Ubicación: Almeria (España)
Posts: 50
Poder: 18
Peterman Va por buen camino
Problema con la velocidad de actualizacion de datos en mi programa

Hola camaradas,

miren, estoy haciendo un cliente OPC; da igual que sepan lo que es, el caso es que es un programa en el que hay que ir actualizando cada 1 segundo unos datos obtenidos via red...el caso es que tengo un ejemplo hecho en visual studio y basado en la win32 que funciona a las mil maravillas pero he notado que en nuestro entorno es realmente lenta la interfaz...

Lo que hago es utilizar un Ttime y cada segundo tiene que actualizar en un memo unos 20 o 30 valores... el caso es que es demasiado lento actualizando... no da tiempo ni a leerlos porque cuando termina de pintarlos ya esta empezando otra ver a pintarlos practicamente... es una mierda.

Buenas...miren la imagen que va contenida en el .zip que les he enviado. Los datos que tengo que actualizar son solo los de una columna...


Haber si me pueden ayudar, ya que esto realmente me compromete...tengo que entregar el programa la semana que viene y todo funciona a las mil maravillas excepto eso...

¿¿¿¿¿ Como actualizar muchos edit o muchas lineas de un memo o lo que sea con velocidad suficiente para que la aplicacion sea vistosa????


Gracias a todos, amigos
Archivos Adjuntos
Tipo de Archivo: zip Mi futuro programa.zip (5,2 KB, 15 visitas)
Responder Con Cita
  #2  
Antiguo 14-06-2007
Mick Mick is offline
Miembro
 
Registrado: may 2003
Posts: 405
Poder: 22
Mick Va por buen camino
El objeto tipo Lines del memo asi como cualquier objeto derivadode de la clase TStrings tienen un metodo llamado BeginUpdate, el begin update impide que se vaya repitando los campos en las listas poco a poco a medida que se cambian (bloquea los eventos que avisan de modificaciones en las listas).

Código:
// Bloquear los eventos de redibujado
Memo.Lines.BeginUpdate; 
try
  Realizar las multiples modificaciones que sean ....
finally
  // Desbloquea y se escribiran en pantalla todas las modificiones de golpe  
  Memo.Lines.EndUpdate;
end;
De todas formas aunque esto acelerara un poco, si hay columanas y filas y se actualizan tan frecuentemente, el memo no es el objeto mas adecuado para utilizar, yo usaria un TCustomGrid o un TStrigGrid quizas ,aunque tamien hay otras posibilidades, todo depende de los detalles de lo que se quiera hacer y de como tengamos guardados los datos a mostrar.

Saludos
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
¿influye en la velocidad de acceso, que la ruta a la base de datos sea muy larga? Wonni Conexión con bases de datos 10 27-12-2006 03:30:32
Mejorar Velocidad Base de Datos joanajj Conexión con bases de datos 11 11-05-2006 13:58:06
Problema de actualizacion de base de datos dmagui Varios 1 20-12-2005 20:44:13
Mejorar velocidad de un SQL al consultar muchos datos. RONPABLO SQL 3 24-11-2005 18:10:02
Actualización de programa por usuario sin derecho lgarcia Windows 4 26-11-2004 22:34:02


La franja horaria es GMT +2. Ahora son las 22:08:54.


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