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 04-07-2004
Patxi Patxi is offline
Miembro
 
Registrado: nov 2003
Posts: 12
Poder: 0
Patxi Va por buen camino
Question Residente

Hola, al ejecutar un programa desde el IDE todo funciona bien, pero al ejecutarlo el solito, cuando se cierra se debe de quedar algo residente en la memoria de tal forma que ya no se puede ejecutar de nuevo a no ser que con el Administrador de Tareas elimine el proceso. Alguien sabría dóde tengo que mirar o algo?.
Muchas gracias.
Responder Con Cita
  #2  
Antiguo 04-07-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Y cuando lo cierras que código tienes.

Sino das más datos.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 04-07-2004
Patxi Patxi is offline
Miembro
 
Registrado: nov 2003
Posts: 12
Poder: 0
Patxi Va por buen camino
Hola, no sé a qué te refieres en cuanto a lo del código. Solo veo que cuando lo cierro, es como si se cerrase bien, pero al volver a ejecutarlo aparece la pantalla como si quisiera iniciarse, pero vuelve a desaparecer, lo único que veo con respecto al programa, con el Administrador de Tareas o un Visor de Procesos, es que hay tantos procesos de este programa como los que yo he intentado ejecutar y hasta que no los elimino todos no puedo ejecutarlo y entonces lo hace bien claro, pero luego al cerrarlo vuelve la misma historia, que tengo que eliminar ese proceso manualmente.

En cuanto a lo de la "Guía de Estilo de los Foros" que pones al final es porque he hecho algo mal?.

Gracias.
Responder Con Cita
  #4  
Antiguo 04-07-2004
Avatar de vic_ia
vic_ia vic_ia is offline
Miembro
 
Registrado: ene 2004
Posts: 238
Poder: 21
vic_ia Va por buen camino
hola....
Cita:
Empezado por Patxi
En cuanto a lo de la "Guía de Estilo de los Foros" que pones al final es porque he hecho algo mal?.
Gracias.
no, solo es su "firma", aunque como dicen en su mensaje debieras de dar un poco mas de datos para que alguna persono pueda tener idea exacta de tu problema, y bueno no seria mala idea siempre darle una miradita a la guia de estilo,... bueno volviendo al mensaje de marcos su pregunta se refiere a que si has colocado algun codigo en los eventos tales como "OnClose", u "OnCloseQuery" o similares, pues tal vez estos podrian ser los causantes de que tu programa no se cierre completamente...

aparte de todo esto yo te sugeriria checaras que no hubiera algunas cosas "externas" que estuvieran causando algun fallo a tu aplicación y que no necesariamente fueran de programación, como por ejemplo archivos basura que estuvieran impidiendo la buena compilación de tu programa...

saludos...
Responder Con Cita
  #5  
Antiguo 04-07-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Según te ha explicado muy bien Vic_ia, no es que hayas hecho nada mal, es mi firma es decir en todos los mensajes que escribo sale exactamente lo mismo.

En cuanto a que des mas detalles como te indicaba yo y también lo hace Vic_ia, también puede ocurrir que crees un determinado componenente y luego no lo liberes correctamente......

Si no tienes mucha experiencia y la aplicación tiene pocos formularios, copiala a otro carpeta, dejas solo el menu activo sino falla, le vas añadiendo los formularios que tienes uno a uno y en el momento que falle sabrás a partir del uso de que formulario se ha producido el error.

Quiero decir, añades un formulario, recompilas, abres aplicación utilizas todas sus funciones y cierras así hasta obtener el fallo....

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #6  
Antiguo 05-07-2004
Gydba Gydba is offline
Miembro
 
Registrado: ene 2004
Ubicación: Argentina
Posts: 673
Poder: 21
Gydba Va por buen camino
Hola,

Si es un problema de que quedan forms abiertos algo sencillo sería realizar un procedimiento que recorra todos los forms del objeto screen y que los cierre al salir de la aplicación.

Saludos...
__________________
Suerte
.: Gydba :.
Responder Con Cita
  #7  
Antiguo 08-07-2004
Patxi Patxi is offline
Miembro
 
Registrado: nov 2003
Posts: 12
Poder: 0
Patxi Va por buen camino
Hola, bueno, lo primero gracias a todos y lo segundo es que en uno de los formularios utilizo el CX-Server de Omron para comunicar con un autómata y por lo visto ese se queda residente. Lo que no sé es como lo voy a eliminar al
cerrar la aplicación.
Saludos.
Responder Con Cita
  #8  
Antiguo 08-07-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Si estas seguro que ese es el problema, podes valerte del evento onClose del formulario principal, o bien del que contiene el server, y asegurarte de cerrarlo, desactivarlo o lo necesario para que "caiga", que en todo caso, debiera estar documentado por el fabricante del componente.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #9  
Antiguo 08-07-2004
Avatar de Pablo Carlos
Pablo Carlos Pablo Carlos is offline
Miembro
 
Registrado: jun 2004
Ubicación: Mendoza - Argentina
Posts: 270
Poder: 20
Pablo Carlos Va por buen camino
Preguntonta ¿liberas los form de la memoria en tu código?
Responder Con Cita
  #10  
Antiguo 09-07-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por Pablo Carlos
¿liberas los form de la memoria en tu código?
Es una pregunta muy abierta.. Mi respuesta es: “dependiendo de la situación", por ejemplo: en un esquema MDI, dejo que los MDIChilds se liberen solos, salvo algunos casos particulares, y si el usuario cierra la aplicación, como el Owner de todos estos formularios es el MDIForm, este se encarga de liberarlos. Cuando creo un formulario Modal, en cuanto prescindo de este lo libero, como a cualquier objeto.
En un esquema de formularios independientes, recomiendo que los formularios sean“propiedad” del objeto Application, si esto es posible, este objeto se encargará de liberarlos cuando este se destruya.

http://www.clubdelphi.com/foros/showthread.php?t=4296

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #11  
Antiguo 09-07-2004
Patxi Patxi is offline
Miembro
 
Registrado: nov 2003
Posts: 12
Poder: 0
Patxi Va por buen camino
Hola, con lo diberar las Forms no sé a que te refieres, lo que yo he hecho ha sido añadir unas cuantas Forms además de la principal, en lo de Opciones de Proyecto las he puesto que se auto creen, cada una se está ejecutando a su aire y cuando las necesito, desde el principal las saco a primer plano con un p.e. fPLC.Show que es una de ellas.
Cuando quiero terminar, cierro las que están haciedo algoy luego la principal.
De todas formas, hay dos cosas para mí raras, una es que cuando lo ejecuto desde el IDE todo se cierra y termina perfectamente y la otra es que la form que tiene el CX-Server, si la ejecuto ella sola, como proyecto independiente, también se termina todo felizmente, por lo que creo que aparte de hacer fPLC.Close hay que hacer algo más.
Saludos.
Responder Con Cita
  #12  
Antiguo 09-07-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Cita:
en lo de Opciones de Proyecto las he puesto que se auto creen, cada una se está ejecutando a su aire...
Solo se debe de autocrear el formulario principal y quizás algún datamodulo si es que se utiliza de manera permanente, todos los demas deben de estar como disponibles "availables", puesto de la manera que indicas estás consumindo memoria de manera innecesaria.

Cuando haya que activar un formulario de los disponibles:

Código Delphi [-]
Application.CreateForm(TMiFormulario, MiFormulario);
MiFormulario.ShowModal;

En el evento OnClose del formulario:

Código Delphi [-]
Action:=CaFree;

Para que libere todos los recursos que estuviera utilizando.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #13  
Antiguo 11-07-2004
Avatar de Pablo Carlos
Pablo Carlos Pablo Carlos is offline
Miembro
 
Registrado: jun 2004
Ubicación: Mendoza - Argentina
Posts: 270
Poder: 20
Pablo Carlos Va por buen camino
Me refiero a que cuando termines de usar el form lo descargas de memoria... lo que yo hago es crearlos y liberarlos cada vez que necesito entre bloques try... finally... por ejemplo

Miform := TMiform.Create(Application);
try
Miform.ShowModal;
finally
Miform.Free
end;
y por su puesto en project ----> option no esta disponible al abrir la aplicación. De esta manera me aseguro que no quede nada en memoria

Saludos
Responder Con Cita
  #14  
Antiguo 12-07-2004
Patxi Patxi is offline
Miembro
 
Registrado: nov 2003
Posts: 12
Poder: 0
Patxi Va por buen camino
Mira, lo que sucede es que aparte de la Form principal están corriendo tres forms que cada una esta está haciendo una serie de cosas y que se comunican con la principal, y que cuando necesito trabajar con una de ellas la pongo activacon un .Show no modal.
De hecho la principal está en un monitor y las otras en otro.

Saludos y muchas gracias.
Por cierto si pudiéras ayudarme en la consulta que he hecho "Esperar a terminar algo " sería ya estupendo.
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


La franja horaria es GMT +2. Ahora son las 05:13:49.


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