Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-01-2008
spyfenix spyfenix is offline
Miembro
 
Registrado: mar 2007
Posts: 35
Poder: 0
spyfenix Va por buen camino
Exclamation Solucion, cargar forma sin que se pasme el sistema

Que tal raza
les comentos de mi problema...
creo un sistema para un mercado, al momento que arranca mi sistema, solo crea 2 formas
- frmLogin
- frmPrincipal
La ventana principal trae todo el menu para el sistema, todas las ventanas se abren rapido por que contienen poca informacion, solo una ventana tiene demasiada informacion, ya que es el catalogo de productos del mercado, pero hice una prueba de meter mas de 600 productos y se tarda alrededor de 5 minutos, se tarda por que hace varias consultas para checar stock, precios, y hace una grafica de como van las ventas.
el dueño del mercado no le gusta que se tarde demasiado.
lo que trate de hacer es que sea cree al principio mediante este codigo
pero se traba todo el sistema mientras se carga todo.

Código PHP:
frmCatalogo := TfrmCatalogo.Create(Self); 
mi pregunta, cual sera una solucion para que se cargue la forma pero sin que se trabe el sistema.

Espero me haya explicado bien, si no comentelo para detallarlo aun mas.
muchas gracias de antemano.

Última edición por spyfenix fecha: 22-01-2008 a las 19:01:46. Razón: no se entiende el post
Responder Con Cita
  #2  
Antiguo 22-01-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Hola

La primer solucion a tu problema es que le cambies el titulo, no nos dice nada....

Referente a tu problema, porque no ponerle una forma del tipo Splash para que en lo que se inicia el programa muestre algo y no de la percepción de bloqueo.

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #3  
Antiguo 22-01-2008
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Lo mismo que Egostar:
Cita:
La primer solucion a tu problema es que le cambies el titulo, no nos dice nada....
Yo que tu pensaría más en rediseñar lo que muestras en el formulario.
- En vez de recalcular todo el stock, lo tienes calculado en una tabla. Le sumas o restas unidades cada vez que haces una entrada o una salida.
- Lo mismo con precios. Una tabla donde esté el ultimo precio de compra, de venta, ponderado, etc.
- La gráfica no se de qué información es, pero supongo que podrás mejorar este tema como con las dos cuestiones anteriores.

También te sugiero que veas cual es el proceso que tarda. Quizás es el de stock y con mejorar este ya no tengas que tocar nada más.

Espero haber sido de ayuda.
Responder Con Cita
  #4  
Antiguo 22-01-2008
spyfenix spyfenix is offline
Miembro
 
Registrado: mar 2007
Posts: 35
Poder: 0
spyfenix Va por buen camino
Question

Muchas gracias pòr la ayuda y sus comentarios
la vdd lo que contiene esta forma esta ya muy rediseñado, el problema es que consulta y verifica muchas tablas para el llenado de toda la informacion que se crea, pero con 100 productos es rapido, mientra mas productos mas tardado se vuelve el proceso.
entonces la solucion que busco es como la que propone "egostar" algo asi, que se cargue sin que se trabe el sistema.
egostar si me podrias explicar un poco de lo comentado, te lo agradeceria mucho.

Gracias
Responder Con Cita
  #5  
Antiguo 22-01-2008
Avatar de juanelo
juanelo juanelo is offline
Miembro
 
Registrado: sep 2007
Posts: 1.083
Poder: 18
juanelo Va por buen camino
Cita:
Empezado por spyfenix Ver Mensaje
Muchas gracias pòr la ayuda y sus comentarios
la vdd lo que contiene esta forma esta ya muy rediseñado, el problema es que consulta y verifica muchas tablas para el llenado de toda la informacion que se crea, pero con 100 productos es rapido, mientra mas productos mas tardado se vuelve el proceso.
entonces la solucion que busco es como la que propone "egostar" algo asi, que se cargue sin que se trabe el sistema.
egostar si me podrias explicar un poco de lo comentado, te lo agradeceria mucho.

Gracias
Mira, das muy poca informacion acerca del problema.
De entrada no dices que manejador de base de datos usas, como te conectas a ella, que componentes de acceso utilizas. Creeme que para ser 600 registros unicamente, es demasiado tiempo para mostrarlos (aunque consultes otras tablas).
Saludos
Responder Con Cita
  #6  
Antiguo 22-01-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por spyfenix Ver Mensaje
Muchas gracias pòr la ayuda y sus comentarios
la vdd lo que contiene esta forma esta ya muy rediseñado, el problema es que consulta y verifica muchas tablas para el llenado de toda la informacion que se crea, pero con 100 productos es rapido, mientra mas productos mas tardado se vuelve el proceso.
entonces la solucion que busco es como la que propone "egostar" algo asi, que se cargue sin que se trabe el sistema.
egostar si me podrias explicar un poco de lo comentado, te lo agradeceria mucho.

Gracias
Hola

Una ventana Splash sirve para que el usuario no piense que su programa se ha detenido, se ha bloquado, etc.

Ve estos hilos y te darás una idea clara de lo que puedes hacer.

http://www.clubdelphi.com/foros/show...ghlight=splash
http://www.clubdelphi.com/foros/show...&threadid=2954

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #7  
Antiguo 23-01-2008
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
haz una carga de 50 en 50 hasta completar todos tus productos.

otra forma es que no carges todos los datos.de una sola vez.
solo carga los que necesites.
por ejemplo carga los primero 10 o 30 o 60 mas recientes, mas comprados.
o el criterio que mas convenga (la razón, razones por que cargas esos datos)
no vas a ver todos los datos al mismo tiempo. sino por bloques.
Responder Con Cita
  #8  
Antiguo 23-01-2008
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.278
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
Cita:
Empezado por spyfenix Ver Mensaje
...pero hice una prueba de meter mas de 600 productos y se tarda alrededor de 5 minutos, se tarda por que hace varias consultas para checar stock, precios, y hace una grafica de como van las ventas.
Personalmente creo que eso es inaceptable. Entiendo que es un fallo de diseño o de concepto. A mi entender deberías saber exactamente en qué se dividen esos 5 minutos.
Cuanto tiempo ocupan las consultas, cuanto la gráfica,...

A mi entender, deberías dividir esos cálculos y tenerlos precalculados (todos o parte de ellos); Tal vez puedas lanzar un proceso desde la Base de Datos (nocturnos) que te calcule o precalcule detrerminados datos.

Si nada de eso funciona, y no puedes optimizar nada (cosa que sería muy rara) otra opción es utilizar hilos de ejecución. Eliminar del hilo principal de ejecución las consultas y cálculos más costosos para que no se quede bloqueada.

De todas formas, das pocos datos y muy genéricos para poder ayudarte.

Otra cosa, si el cambio de 100 a 600 productos no es lineal, como me ha parecido leer, piensa qué pasará cuando tebngas 1000 ¿media hora? y con 2000 ¿hora y media?.
__________________
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
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
Problema recurrente pero sin solucion :( Seryon Impresión 0 07-09-2006 21:17:27
que problema hay con este comando ElDioni SQL 5 14-07-2005 12:49:14
Como resuelvo este problema?? danytorres Varios 7 26-04-2005 22:36:27
TBATCHMOVE con ADO o alguna solucion parecida Rigg SQL 0 14-04-2004 16:49:40
Orienteme con este problema de sockets Ezecool Varios 0 26-01-2004 19:12:38


La franja horaria es GMT +2. Ahora son las 06:04:42.


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