TObject is the ultimate base class for any other class, whether you declare it or not. It provides set of generic and mostly virtual methods used to:
- Create, maintain, and destroy instances of the object by allocating, initializing, and freeing required memory (Create, Free, Destroy, DisposeOf).
- Return class-type and instance information on an object and runtime type information (RTTI) about its published properties.
- Respond when object instances are created or destroyed.
- Support message handling.
- Support interfaces implemented by the object.