FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Buenas prácticas 3 (array de TStrings)
Hola amigos
Siguiendo con la zaga sobre la liberación de memoria y las buenas prácticas de programación me encuentro con el siguiente entuerto. El usuario en una de mis aplicaciones entra strings en un TMemo yo tengo que desglosar por Strings y a cada una de ellas disgregarlas en parámetros internos del String. O sea que al final debo trabajar con una lista INDETERMINADA (tantas como lineas en el TMEMO) de listas indeterminadas (tantos como parámetros en cada string del TMemo) de Strings (parámetro). Para que se hagan una idea simplificada, el usuario entraría algo así en el memo1: 'Par1 Par2 par3' 'Par4 Par5 par6 par7 par8' 'par1 par9' Yo lo que necesito es tener un array con estos textos por lo que me hice (aunque funciona perfecto no sé si está bien hacerlo) un "array de TStrings" El código obviamente muy simplificado (y en su última linea mi pregunta) quedaría así: eso... como libero el array? ... si es que debo hacerlo |
#2
|
|||
|
|||
Hola...
Yo te aconsejaría una lista de TStrings:
Ya con esto cuando quieras acceder a uno de los StringLists solo tienes que hacer algo como:
Y al destruir la forma o clase que contiene a StringLists haces:
Saludos... |
#3
|
|||
|
|||
Gracias, probaré así
|
#4
|
||||
|
||||
Hola, también puedes utilizar un TObjectList.
Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar. |
#5
|
||||
|
||||
Se me ha ido, para acceder haces:
y debes añadir la unit Contnrs Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar. |
#6
|
|||
|
|||
Para liberar un array dinámico puedes hacer:
1. miArray := nil 2. SetLength(miArray, 0); Saludos |
#7
|
|||
|
|||
Hola...
Caro, para que tu solución funcione como debe ser, es necesario que luego de crear la lista de objetos hagas:
De esta forma al hacer StringLists.Free la lista libera automáticamente los objetos que contiene... Saludos... |
#8
|
||||
|
||||
Cita:
Cita:
|
#9
|
|||
|
|||
Hola...
Vaya, es algo que no me había fijado. Siempre pensé que el constructor de TObjectList era sin parámetros. Saludos... |
#10
|
||||
|
||||
Resp
Para liberlo usa este
FreeAndNil(Variable);
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa. |
#11
|
||||
|
||||
Si tenes delphi 2009 podes hecharle un ojo a los Generics.
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
más buenas prácticas de programación | elcigarra | OOP | 52 | 14-11-2008 15:16:41 |
Buenas prácticas de programación | elcigarra | OOP | 18 | 07-11-2008 18:05:27 |
Siete prácticas para un óptimo y rápido desarrollo de software | poliburro | Noticias | 5 | 30-07-2008 17:48:55 |
TStrings | dvlt | Varios | 7 | 15-04-2008 16:36:37 |
Ayuda Practicas En Delphi | MARIAM23 | Varios | 1 | 22-07-2006 02:19:34 |
|