Quote Originally Posted by pitfiend View Post
That's a compiler problem. Never used FPC and not sure if Delphi is able to catch that kind of errors at compile time, I think it warns about uninitialized variables.
You can make same mistake with Delphi. It also took me quite some time to learn that.

Nof if I'm not mistake this is left in in Objective Pascal as backward compatibility to the verry first days of Objective Pascal when classes still didn't have capability to automatically initialize its own members (internal fields, variables, etc.).

I think I once sow a code that actually makes use of this to delay the initialization of some class members in order to speed up the creation process of the class itself.

But this is pactically not used nowadays becoouse you would usually want for your class to be the decendant of TObject class which provides you with some basic and comonly used functionality like class name property with which you can determine the class type at runtime without the use of extended RTL, then quckly creating of new instances of that particular class etc.