I haven't seen anywhere that a object reference is nil when it is not yet created / when it is deleted, altrough in delphi a lot of functions work with this assumption (such as freeandnil) it is not part of any pascal standard / guidelines, so the object <> nil would probably not be "proper" code to check if a object reference is valid or not altrough it "works" under delphi & FPC (and others).