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 |
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... |
Gracias, probaré así
|
Hola, también puedes utilizar un TObjectList.
Saluditos |
Se me ha ido, para acceder haces:
y debes añadir la unit Contnrs Saluditos |
Para liberar un array dinámico puedes hacer:
1. miArray := nil 2. SetLength(miArray, 0); Saludos |
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... |
Cita:
Cita:
|
Hola...
Vaya, es algo que no me había fijado. Siempre pensé que el constructor de TObjectList era sin parámetros. Saludos... |
Resp
Para liberlo usa este
FreeAndNil(Variable); |
Si tenes delphi 2009 podes hecharle un ojo a los Generics.
|
La franja horaria es GMT +2. Ahora son las 22:42:41. |
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