Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Liberar un matriz de objetos (https://www.clubdelphi.com/foros/showthread.php?t=12933)

soul6301 31-07-2004 18:50:28

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.

__hector 31-07-2004 21:09:12

Se vale igualandolo a nil ? O quizas recorriendo con un foreach e ir destruyendo los objetos.

ruina 02-08-2004 10:11:13

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 :p

jachguate 02-08-2004 18:02:58

En puro delphi... :D :

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

Hasta luego.

;)

__hector 02-08-2004 22:29:50

Se me chispoteo... :rolleyes:

Por si acaso, no han incluido esa extension del lenguaje en Delphi 8?

soul6301 04-08-2004 02:19:10

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

jachguate 04-08-2004 02:36:11

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?

roman 04-08-2004 05:22:57

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

marto 04-08-2004 09:19:53

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! :(


La franja horaria es GMT +2. Ahora son las 04:13:41.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi