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 31-07-2004
soul6301 soul6301 is offline
Miembro
 
Registrado: may 2004
Posts: 77
Poder: 21
soul6301 Va por buen camino
Question Liberar un matriz de objetos

Hola:

Sé que para liberar un objeto de la memoria debe escribir la sentencia Button1.Free (por ejemplo), pero cómo logro liberar una matriz de objetos:

Botones: array of TButton;

Gracias.
Responder Con Cita
  #2  
Antiguo 31-07-2004
Avatar de __hector
[__hector] __hector is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 1.075
Poder: 23
__hector Va por buen camino
Se vale igualandolo a nil ? O quizas recorriendo con un foreach e ir destruyendo los objetos.
__________________
Héctor Geraldino
Software Engineer

Última edición por __hector fecha: 31-07-2004 a las 21:45:08.
Responder Con Cita
  #3  
Antiguo 02-08-2004
Avatar de ruina
ruina ruina is offline
Miembro
 
Registrado: jun 2004
Posts: 196
Poder: 20
ruina Va por buen camino
Cita:
Empezado por hector
Se vale igualandolo a nil ? O quizas recorriendo con un foreach e ir destruyendo los objetos.
Alaa otro tentado por el reverso tenebroso de puntonet
__________________
todo el mundo debe creer en algo... yo creo que voy a tomarme otra copa.
Responder Con Cita
  #4  
Antiguo 02-08-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
En puro delphi... :

Código Delphi [-]
for i := low(botones) to high(botones) do
  Botones[i].Free;

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
  #5  
Antiguo 02-08-2004
Avatar de __hector
[__hector] __hector is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 1.075
Poder: 23
__hector Va por buen camino
Se me chispoteo...

Por si acaso, no han incluido esa extension del lenguaje en Delphi 8?
__________________
Héctor Geraldino
Software Engineer
Responder Con Cita
  #6  
Antiguo 04-08-2004
soul6301 soul6301 is offline
Miembro
 
Registrado: may 2004
Posts: 77
Poder: 21
soul6301 Va por buen camino
Pero qué ocurre si la matriz es dinámica y aún no tiene elementos. ¿Cómo podría liberarla y no es necesario?

Gracias
Responder Con Cita
  #7  
Antiguo 04-08-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
Cool

Cita:
Empezado por soul6301
Pero qué ocurre si la matriz es dinámica y aún no tiene elementos.
Si no tiene elementos... no hay que liberar nada... o me perdí de algo?
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #8  
Antiguo 04-08-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por soul6301
Pero qué ocurre si la matriz es dinámica y aún no tiene elementos.
Los arreglos dinámicos no requieren liberarlos ya que funcionan igual que los strings; en cuanto se pierde la última referencia al arreglo la memoria se libera automáticamente. Así que, como dice jachguate, si no tiene elementos no hay nada que liberar.

Por otra parte, si todos los elementos están en nil aún así puedes pasarles el método Free ya que éste puede usarse incluso cuando el objeto es nil.

// Saludos
Responder Con Cita
  #9  
Antiguo 04-08-2004
Avatar de marto
marto marto is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona, Catalunya
Posts: 882
Poder: 22
marto Va por buen camino
Cita:
Empezado por hector
Por si acaso, no han incluido esa extension del lenguaje en Delphi 8?

En delphi 8 no han hecho nada o casi nada con el lenguaje.... y por eso es bastante dudoso que tenga éxito en su estado actual. Por la web de marteens encontrarás varias divagaciones de porque delphi.net no es un buen producto (segun él, claro). En el foro de debates tb participó y amplió todavía más esas razones.
Pues bien, los principales motivos están relacionados con esa falta de evolución.
Yo estoy haciendo algunas cosas a nivel particular en c# y la verdad es que cuando vuelvo a Delphi (exactamente cada día a las 9:00 am), se encuentran muchas cosas a faltar. Lo triste es que hace un año no imaginaba que diría eso en la vida!
__________________
E pur si muove
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 02:38:26.


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