Ver Mensaje Individual
  #11  
Antiguo 22-01-2011
Avatar de yapt
yapt yapt is offline
Miembro
 
Registrado: sep 2006
Ubicación: España
Posts: 258
Reputación: 18
yapt Va por buen camino
Cita:
Empezado por Crandel Ver Mensaje
Es por eso que te recomendaba el uso la clase TList, hace exactamente lo que necesitas hacer pero ya optimizado por la gente de Delphi.
Gracias de nuevo Crandel pero, insisto en lo que te decia en mi primera respuesta. Cuando inicié el hilo que nos ocupa, ya decía que:

Cita:
En este momento lo tengo funcionando correctamente, ya que he modificado la clase para usar un TList en lugar de un Array dinámico. Pero tengo una enorme curiosidad por saber que estaba haciendo mal. Seguro que es muy evidente.
En cuanto a la solución, pues Coso encontró el error. Básico y bastante evidente, pero nada, yo no lo veía aunque había revisado esa parte del código un buen montón de veces.

Gracias a los tests de unidad, el error se mostró pefectamente. Si no, el código hubiera ido a producción con un error de bulto. Lastima que el desarrollo de DUnit parece que se ha detenido hace mucho tiempo. Iniciaré otro hilo para comentar esto.

El código ha quedado así (la fila con el error la pongo comentada):

Código Delphi [-]
    Columna[x] := TColumnaDict.Create( Columna[x+1] );
//    Columna[x].Create( Columna[x+1] );
    Columna[x+1].Free;

Y los tests de unidad pasan de forma perfecta.

Gracias.
Responder Con Cita