Common VCL objects are alive objects – there are allocated dynamically
on the heap and they can be used in all ways. Alive objects are created
by functions that have the _new
suffix. Apart from alive objects, there
are dead objects. They are allocated on the stack (using functions with
the _init
suffix) and they can be used only under special
circumstances (explicitly specified in the documentation). In spite of the
fact that a dead object supports a certain interface, there are often
misimplemented non-needed methods of that interface (methods that
are not needed in some specific ways of treatment allowed for dead objects).