It's a bit confusing at first. Basically, a TClass isn't an object, it's the object's type. It's a pointer to the RTTI for that class, and it's useful for a lot of high-level object-oriented work. If you want to put objects into a list, use a TObjectList.