![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
||||
|
||||
|
Ok lo checo y te comento como va, salu2 y Gracias nuevamente.
![]()
__________________
Nadie puede separar su fe de sus actos, o sus creencias de sus afanes |
|
#2
|
||||
|
||||
|
¿Tu programa tiene Timers o Threads? ¿Puede ser que se te esté quedando alguno acivo?
¿Algun bucle que realice operaciones periódicas en Base de datos?
__________________
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. |
|
#3
|
||||
|
||||
|
Hola Neftalí, gracias por la respuesta.
Pues te comento que en los formularios que he modificado, realizo varias operaciones con la BD, hago algunos JOIN con varias tablas, manejo una tabla temporal con un MemData, trabajo con firebird y según entiendo al hacer un commit se afectan los cambios en la base de datos y todo, no obstante tengo una pequeña funcion que se encarga de cerrar todos los componentes que tiene que ver con la BD, no se si es la mejor forma, pero aki lo pongo (ademas igual y le sirve a alguien mas).
La mayoria de mis formularios se crean al llamarlos ya que mi aplicacion es MDI, solo tengo un formulario con una grilla de detalle (que es llamado con doble clic desde una cuadricula que muestra la tabla maestro), y uno que nunca visualizo, lo utilizo para llenar un richedit, para imprimir un ticket (cosa con la que por cierto me ayudaste Neftalí ), y claro un modulo de datos que uso para la conexion.Y GRACIAS por el interes en ayudar, a ver si con esto me encuentras algún fallo. Salu2
__________________
Nadie puede separar su fe de sus actos, o sus creencias de sus afanes |
|
#4
|
||||
|
||||
|
Bueno, lo que dices puede o no tener errores (el código que has puesto no lo parece), lo que me intriga es que aunque los tuviera, el efecto que provocararía no es el que comentas.
De ahí que te comentara lo de los threads, timers o bucles, porque es lo que se me ocurre que podría provocar ese efecto.
__________________
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. |
|
#5
|
||||
|
||||
|
Yo estaba con la creencia de que era a partir de los cambios que te comentaba, pero la cuestion es que desde la mañana he estado haciendo pruebas con una version anterior y me he percatado que hace exactamente lo mismo, aun si solo lo abro y lo minimizo, despues de un rato se bota mi CPU, no tengo ni idea que sucede y es ahora mas complejo pq es no me limitaria a checar 6 o 7 forms, sino tengo que checar todo el sistema... a ver que sale.. alguna idea?
__________________
Nadie puede separar su fe de sus actos, o sus creencias de sus afanes |
|
#6
|
||||
|
||||
|
No tengo la solución a tu problema (ojalá la tuviera) pero sí puedo darte otra pista de dónde buscar. Si estás seguro que en tu código no hay nada raro que provoque el comportamiento (bucles infinitos, threads colgados, etc...) puedes ir mirando las .dll que usa tu programa. Aunque no las uses explícitamente algunos componentes (como el TListView) usan DLL de Windows. También la conexión a la base de datos podría estar usando una o varias DLLs, si alguna es la culpable, el Administrador de Tareas de Windows te reportará que es tu aplicación la que hace el consumo aunque en realidad sea el código de alguna DLL.
Hay herramientas externas que te ayudan a identificar todas las DLLs que un programa está usando, por ejemplo el PrcView |
|
#7
|
|||
|
|||
|
Tambien puedes usar un profiler, como el GPProfile o el ProDelphi. Los puedes descargar gratuitamente, ejecutas la aplicación desde estes programas (leete bien las instrucciones, antes), y tendrás un resumen indicando que funciones son las que gastan más CPU, memoria, cuantas veces se llama cada función, etc...
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|