![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Create(Nil) o Create(Self)
Buenas amigos tengo la siguiente duda, yo se que si se crea un objeto de forma Nil, no pertenece al formulario y nosotros tenemos que liberar la memoria a pie! y si lo creamos Self, pertenece al Form y el liberara el espacio en memoria al ser cerrado, de todas maneras tengo la duda de cual es mejor por ejemplo a la hora de usar un objeto de tipo TZquery
porque por lo general lo he visto de la siguiente forma
__________________
La vida es un simple pero complejo If J=rS
|
#2
|
||||
|
||||
Hola.
Esto creo que es regla de oro para cualquier componente: Si lo creas en el programa principal y queres destruirlo al finalizar la aplicación usa Application , si lo creas en otro Form y queres que se destruya al destruirse este, usa Self. Ahora si liberarlo depende de algún otro evento o situación usa nil, así te aseguras evitar errores por liberar dos veces el componente. Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#3
|
||||
|
||||
Como tú bien has dicho el resultado final es el mismo si se hace bien.
Si dejas que el formulario destruya el elemento estás dejando esa tarea para cuando se cierre el formulario y la mayoría de las veces no es necesario esperar tanto. Salvando ese caso, lo normal será que destruyas el objeto cuando ya no lo necesitas, de ahí que la forma que suelo utilizar es:
__________________
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. |
#4
|
||||
|
||||
Creo que será 'finally' y no 'except', porque si no ocurre ninguna
'exception' no se eliminará de la memoria correctamente
También puede ser que esté dormido y me esté confundiendo, voy a tomarme un café ![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#5
|
||||
|
||||
Fuera dudas: Nil, Self, Application
En su blog, Zarko Gajic explica (en inglés) con detalle este tema.
__________________
Progress Openedge https://abevoelker.com/progress_open...dered_harmful/ Delphi forever... |
#6
|
||||
|
||||
Cita:
![]() // Saludos |
#7
|
||||
|
||||
Cita:
![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#8
|
||||
|
||||
Gracias Casimiro. Eso exactamente es lo que quería decir. Está claro que el que está dormido soy yo... ![]()
__________________
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. |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Pregunta ? Create !! | pmtzg | Varios | 1 | 31-01-2008 17:23:22 |
Orientacion con Create(self) | pmtzg | Varios | 1 | 28-01-2008 22:34:01 |
Funcion Create de SQL | GerTorresM | SQL | 3 | 07-09-2007 13:00:43 |
Create Function | rickymarti | Firebird e Interbase | 1 | 02-12-2004 10:37:00 |
Can't create socket | juanchi | Internet | 1 | 09-10-2003 17:58:57 |
![]() |
|