Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Inicializar array dinamico (https://www.clubdelphi.com/foros/showthread.php?t=14034)

senpiterno 08-09-2004 02:41:11

Inicializar array dinamico
 
Hola amigos

Tengo las siguientes estructuras:

Código Delphi [-]
 
  Type
     Columnas=Record
       Columna:TcxTreeListColumn;
       Indice:Integer
  End;
  
Type
   ArbolComponetes=Record
     ComponentePadre:TcxTreeList;
     Cols:Array Of Columnas
  End;

Despues declaro una variable con el ultimo tipo

Código Delphi [-]
 
  Componentes:Array Of ArbolComponetes;

Como la variable declarada es un array dinamico, lo inicializo

Código Delphi [-]
 
SetLength(Componentes,IndiceComponente);
//Donde IndiceComponente es un entero de valor 1

Hasta aqui ningun problema, pero al inicializar el sub tipo (Cols) del tipo principal me da un error de violacion de acceso, el codigo que utilizo para inicilizar este sub tipo es el siguiente:

Código Delphi [-]
 
SetLength(Componentes[IndiceComponente].Cols,Col);
//Donde col es una varible de tipo entero de valor 6, es decir 6 columnas

¿ Que puede estar pasando ?

De antemano se agradece cualquier ayuda...

roman 08-09-2004 03:10:39

A ver. Dices que IndiceComponente vale 1. Entonces es como si hicieras:

Código Delphi [-]
SetLength(Componentes, 1);

...

SetLength(Componentes[1].Cols,Col);

Pero el índice 1 para la variable Componentes está fuera de rango. Recuerda que los arreglos dinámicos siempre están basados en 0 de manera que el único elemento de Componentes tiene índice 0 y no 1.

// Saludos

senpiterno 08-09-2004 03:17:34

Toda la razon roman....

Gracias por tu ayuda.


La franja horaria es GMT +2. Ahora son las 19:59:33.

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