![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Hola
Aparte de lo que te han comentado, no es conveniente hacer un llamado a un form sin luego destruirlo o liberarlo, asi no ocupa memoria, es como si lo tuvieras en el proyecto lo que alenta el programa. Esta es la mejor forma de hacerlo: Se crea y luego se libera. Saludos |
|
#2
|
||||
|
||||
|
Bueno, yo prefiero el siguiente metodo...
Free destruye un objecto y si es necesario destruye los componentes asociados a él, según la ayuda dice que free llama al Release en el caso de los formularios. Release espera a que se destruyan todos los componentes asociados a la forma para poder destruir la forma. Sinceramente yo prefiero asegurarme del asunto y usar Release directamente. Y bueno, no soy excelente con el ingles pero en la ayuda dice lo siguiente: Cita:
.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ |
|
#3
|
||||
|
||||
|
Hasta donde yo tenía entendido (aprendido de estos foros), es que Release debe llamarse desde un método de la propia clase, no desde fuera, de hecho lo dice aquí:
Cita:
Esto funciona, pero quizás no como uno espera (lo explico más adelante)
Atacando la ayuda: Cita:
Lo que quiere decir que tras una llamada a Release, no está garantizado que la ventana se haya destruido completamente, y este punto es importante. Se podría llamar a Release, y la ventana seguir en pantalla durante 3 minutos, porque está realizando un proceso largo, o tiene mensajes pendientes en su cola de mensaje (incluso mensajes de repintado de la pantalla que, dado que queremos destruirla, no tiene sentido que se realicen). Al llamar a Free, se está obligando a liberar todos los componentes que haya en el Form, cortando el flujo de mensajes y destruir todo inmediatamente. Además no se procesarán todos los mensajes de la cola de espera (por tanto, los mensajes de repintado, jamás se realizarán). Después de llamar a Free, si está garantizado que la ventana se ha liberado. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. Última edición por Lepe fecha: 21-11-2007 a las 17:07:39. |
|
#4
|
||||
|
||||
|
En la ayuda de Delphi en su topico Free, dice lo siguiente:
Cita:
Pero si relaciono lo que dice la ayuda con lo que acabas de explicarnos, termino por pensar que lo que dice la ayuda sería aplicable en el caso del action:=caFree; (Segun Marteens http://www.marteens.com/answ02.htm esto llama a Release) que estamos acostumbrados a colocar dentro del OnClose de un TForm. De hecho el mismo marteens te da la razón con dicho articulo . Gracias por la aclaración Lepe.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ |
|
#5
|
||||
|
||||
|
Si, es que Ians Marteens es un copión
![]()
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Intraweb y ShowModal | PatrickM | Internet | 8 | 04-10-2018 21:52:18 |
| Showmodal desde MDI | pfsoft | Varios | 1 | 26-07-2006 09:07:15 |
| MDIChild y ShowModal | Neia | OOP | 3 | 03-07-2005 15:50:08 |
| Error con ShowModal | el_barto | Varios | 7 | 04-06-2005 17:51:44 |
| Problemas con Showmodal | ivanmm | Varios | 2 | 31-10-2003 16:12:08 |
|