PDA

Ver la Versión Completa : Lentitud para arrancar de mi aplicacion


Valdez
13-09-2006, 10:11:07
Hola como estan todos .. espero que bien ...

Distinguidos amigos tengo una aplicación desarrollada en delphi 6 con interbase 6.5, el problema que enfrento en este momento es que se pone muy lento para inicial .. aveces se toma mas de 2 minutos y eso es deseperate ... si alguien puede ayudarme para que mi aplicacion se ejecutte de inmediato sin importar el tamaño de la base de datos .. por favor .. darme la mano en eso ... gracias mil


en espera de sus respuestas.

Ñuño Martínez
13-09-2006, 10:34:06
Depende mucho de la aplicación.

Una solución válida si el ejecutable es muy grande es dividir el proyecto en módulos, cada uno de los cuales se implementaría en ejecutables diferentes (bien archivos EXE bien archivos DLL, SO, OVL...) en el que cada módulo se cargaría en memoria únicamente en el momento en que se vaya a utilizar y se descargaría cuando ya no se necesite. En la ayuda de Delphi hay información sobre cómo crear módulos DLL y cómo cargarlos y descargaros en memoria utilizando el API de Windows.

Otra solución, esta vez si el problema es la base de datos, consistiría en cargar las tablas únicamente cuando vayan a utilizarse. Es decir, si utilizas muchas tablas y accedes a ellas mediante TTable o similares, crear estos objetos sólo cuando vayan a utilizarse y destruírlos cuando ya no se necesiten. Otra forma de implementar esta solución es utilizar únicamente consultas SQL.

Espero que esto sirva para darte ideas y no para liarte más.

Neftali [Germán.Estévez]
13-09-2006, 10:36:04
Das pocos datos de lo que estás haciendo al arrancar.
Recuerdo que en algunos ordenadores daba problemas abrir una Base de Datos con extensión GDB, por temas de seguridad configurada por XP; Revisa esto (http://support.borland.com/thread.jspa?messageID=656).

De todas formas, esto es un problema al conectar con la Base de Datos, simplemente al conectar; Otro tema son las cosas que tú puedas estar haciendo al arrancar; ¿Abres tablas al arrancar la aplicación? ¿Cómo las estás abriendo?

AdrianD
13-09-2006, 17:04:57
Como la pregunta esta en el apartado de Providers asumo que puedes estar ttrabajando con clientsdataset y providers, si ese es el caso es fundamental que la consulta de la que extraes los datos no traiga todos los datos o si esta "enganchado" a una tabla que esta no sea muy grande por que si es asi cuando abres el ClientDataSet, se producira la demora. Debes tener en cuenta que los sistemas SQL, estan pensados para trabajar a nivel de registro y no de tabla