Eventuell kann es sein, dass der Compiler intfobjvar is TInterfacedObject
vereinfacht zu Assigned(intfobjvar)
, weil er davon ausgeht, dass in einer Variable vom Typ TInterfacedObject
nur eine Instanz vom Typ TInterfacedObject
oder eines seiner Nachfahren sein kann...
Richtig vermutet, bei einem is auf genau die Klasse der Variable oder eine Elternklasse macht der Compiler einfach nur eine Assigned Überprüfung.