Ver Mensaje Individual
  #7  
Antiguo 16-01-2004
Avatar de marto
marto marto is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona, Catalunya
Posts: 882
Reputación: 22
marto Va por buen camino
Cita:
Empezado por andres1569
Dices, Marto, que lo has solucionado, pero hay algo que no entiendo del todo. Si utilizas esas variables globales, dentro de Implementation, como recomienda Roman, ¿significa que todos los TLinea utilizan la misma lista? Ya que en tu mensaje hablas en algún momento de que se hacen cálculos la primera vez que se solicita la lista, ¿significa eso que puede haber TLineas que devuelvan TTareas diferentes?
No, todas son iguales, por eso es correcto tener una sola variable y una sola TSTringList

Cita:
Empezado por andres1569
lo que hago es crear un método de clase que recibe como parámetro un TList (o un TStrings, como prefieras), que se encarga de llenar. De esa forma, las instancias de TLineas no se encargan de mantener / destruir dichas listas sino que eso corresponde a quien las llamó
Esa es una solución muy parecida a la que comento que de momento tengo implementada (la que no usa variables) .
Diferencias:
Mi método es una función que retorna la lista, eso es circunstancial ya que la responsabilidad de la destrucción es de la classe externa igualmente y me "ahorro" tener que instanciar cada vez, o sea que en el fondo esa diferencia es trivial.
Mi método no es de clase, eso sí es una diferencia, el problema es que para generar la lista necesito acceder a la BD y para eso necesito una variable privada de la clase que apunta al DataModule, y si declaro el método de classe no tengo acceso a esa variable.
__________________
E pur si muove
Responder Con Cita