Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #10  
Antiguo 14-02-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.437
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 Kenobi Ver Mensaje
durante la carga de la aplicacion se crean los distintos formularios asi como el modulo de datos (este va de primero) y dentro de el hay pues tablas y consultas (como 15 o menos de cada uno)
Ok, mucho mejor así.
Hay varias cosas que me llaman la atención; Yo te las comento y luego tú verás si está dentro de tus posibilidades modificarlas o no.

(1) Creas todos los formularios al iniciar la aplicación, cosa que no es necesaria. Crea los formularios cuando los vayas a visualizar y destruyelos al ocultarlos. Supongo que al iniciar no necesitas tenerlos todos visibles.

(2) Algo similar pasa con las tablas y consultas. Veo que abres todas al iniciar. Tampoco es necesario si no las vas a utilizar todas en ese momento. Abre cada una en el momento en que la necesites. Incluso en una de ellas haces el Last, con lo que obligas a recorerla toda.
No digo que no debas hacerlo, lo que no se es si es necesario que lo hagas todo en ese punto (al iniciar).

(3) El Sleep(10) es un retardo innecesario que estás introduciendo.

(4) Por último haces un recorrido utilizando ComponentCount; Este método es muy lento. Se puede cambiar y utlkizar un TObjectList para contener los TDataset y hacer el recorrido sobre la lista. (*NOTA*)

Son algunas cosas, lo que sí haría yo es intentar añadir a un Log marcas de tiempo de lo que tarda cada operación. Para saber dónde estás perdiendo tiempo. (*NOTA*) Por ejemplo en el punto (4) tal vez no se esté perdiendo nada de tiempo y al hacer el cambio no ganes nada (y pierdas tiempo de programación).
El fácil poner un Memo oculto y entre las líneas de tu código añadir sentencias como esta:

Código Delphi [-]
  Memo1.Lines.Add('Abriendo tabla 1  ==> ' + DateTimeToStr(Now));
  ...
  Memo1.Lines.Add('Creando form   ==> ' + DateTimeToStr(Now));
  ...  
  Memo1.Lines.Add('Creando form   ==> ' + DateTimeToStr(Now));
  ...

Cuando la carga esté completa, lo grabas a disco utilizando:

Código Delphi [-]
  Memo1.SaveToFIle('c:\temp\Carga.Log');

Con eso tendrás marcas de tiempo aproximadas de lo que está tardando cada parte y así podrás afinar la solución...

Un saludo.
__________________
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
 



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
Aplicación de Servicio+Aplicación Normal +Socket jake API de Windows 5 21-06-2007 18:53:19
Aplicación Web vs aplicación Delphi epuigdef Internet 26 08-05-2007 10:47:12
Cómo cerrar otra aplicacion desde mi aplicacion en Delphi 7 Gaby123 API de Windows 5 04-01-2007 22:44:51
Diferencia entre aplicacion Clx y aplicación normal??? JorgeBec Varios 1 27-10-2004 17:30:49
aplicacion vertical? aplicacion horizontal? maruenda Varios 3 28-02-2004 23:23:20


La franja horaria es GMT +2. Ahora son las 22:04:44.


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