Adrian Maier wrote:
On 10/31/07, Matt Emson <[EMAIL PROTECTED]> wrote:
Adrian Maier wrote:
Hello,

I'm seeking for advice about which is the best way to hold an array of
class instances
I need to access the elements using its position (like a regular
array) , and also i'd like
the structure to grow when I add more elements
TObjectList

I am aware that TObjectList is one of the possible ways.
But I was hoping to get a better understanding about the purpose of these
various classes or types of array ,  and more importantly what are the
drawbacks .

Is there really no wiki page , tutorial, anything  that provides an overview of
the collections and types of arrays that FPC has ?

You can use dynamic arrays, they work like an ansi string:

var
  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.

--
Joao Morais
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to