Das Gegenstück zu
instanceof ist nun mal
is
und macht genau das was du beschreibst.
Vielleicht hast du ganz falsche Erwartungen davon, was da passiert?
Eben nicht, denn "instanceof" prüft ob das referenzierte Objekt zuweisungskompatibel zu einer Klasse ist. "is" hingegen prüft lediglich, ob die Referenz/Pointer zuweisungskompatibel ist (wie man in meinem Beispiel schön sieht). "TObject.InheritsFrom" macht genau das was ich brauche.
Ich hab mal dein Beispiel von Anfang (ein bisschen abgeändert) getestet:
Ich habe dein abgeändertes Beispiel ausgeführt. Die Ausgabe ist jedoch anders, als du schreibst: