[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] | Reference for unit 'Objects' (#rtl)

# TResourceCollection

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Collection of resource names

## Declaration

Source position: objects.pp line 496

`type TResourceCollection = object(TStringCollection)`
`function KeyOf(); virtual;` |  | Return the key of an item in the collection.
`function GetItem(); virtual;` |  | Read an item from the stream.
`procedure FreeItem(); virtual;` |  | Release memory occupied by item.
`procedure PutItem(); virtual;` |  | Write an item to the stream.
`end;`

## Inheritance

`TResourceCollection` |  | Collection of resource names
`TStringCollection` |  | Collection of pascal strings.
`TSortedCollection` |  | Abstract sorted collection.
`TCollection` |  | Manage a collection of pointers of objects
`TObject` |  | Basis of all objects

## Description

A TResourceCollection manages a collection of resource names. It stores the position and the size of a resource, as well as the name of the resource. It stores these items in records that look like this:

    TYPE
       TResourceItem = packed RECORD
          Posn: LongInt;
          Size: LongInt;
          Key : String;
       End;
       PResourceItem = ^TResourceItem;

It overrides some methods of TStringCollection in order to accomplish this.

Remark: | Remark that the TResourceCollection manages the names of the resources and their associated positions and sizes, it doesn't manage the resources themselves.