> It is interesting to note that you can call any object method
> with a "NIL"
> object reference and no exception will occur until you
> attempt to reference
> the object data ...
Only if the method is static, ie., not dynamic (eg. virtual). This is
because virtual methods need to look up the vtable for the address of the
method, and the address of the vtable is stored in the object instance.
> The flag is not quite as hidden as you think.
> It is actually the 'SELF" parameter. For the constructor to
> create a new
> object it passes in a "NIL" self value, which if you think
> about is why a
> constructor can be called as a normal method - ie all methods take the
> parameter "SELF", it's just that a constructor checks this
> value before
> executing any of "your" code.
Self *IS* a hidden parameter ):.
Regards,
Dennis.
---------------------------------------------------------------------------
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
Website: http://www.delphi.org.nz