[fpc-pascal] Arrays of objects
    Lourival Mendes 
    mendes.lourival at gmail.com
       
    Wed Oct 31 12:59:56 CET 2007
    
    
  
Dear Joao,
   I do beleive that the SetLength only resize the array, ie: The
Vetor has 3 elements like:
   Vetor[0]:= 1
   Vetor[1]:= 2
   Vetor[2]:= 3
  And then eu want the same variable but with only 2 element, then
   SetLength(Vetor, 2)
   Vetor[0]:= 1
   Vetor[1]:= 2
   As you can see you don't lose the first 2, After that you want 4
elements on the same variable:
   SetLength(Vetor, 4)
   If you print the variable, before associate any value to it you will get:
   Vetor[0]:= 1
   Vetor[1]:= 2
   Vetor[2]:= 0
   Vetor[3]:= 0
  Hope it helped
Lourival
2007/10/31, Joao Morais <post at joaomorais.com.br>:
> Marco van de Voort wrote:
> >> Adrian Maier wrote:
> >>    VArray: array of TSomeClass;
> >> begin
> >>    SetLength(VArray, 10);
> >>    // now you have VArray[0] .. VArray[9];
> >>    SetLength(VArray, 20);
> >>    // now you have [0] .. [19];
> >>    // Length(VArray) = 20
> >>    // for I := 0 to Pred(Length(VArray)) is a valid statement
> >>
> >> They are reference counted, just like ansi strings, ie don't worry about
> >> memory leakages.
> >
> > ... Of the array itself. The objects it contains is another matter.
>
> Ah, yes, forgot to mention this. I usually use dyn arrays to manage
> objects owned by other lists or objects.
>
> --
> Joao Morais
> _______________________________________________
> fpc-pascal maillist  -  fpc-pascal at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-pascal
>
-- 
Lourival J. Mendes Neto
    
    
More information about the fpc-pascal
mailing list