Missverständnis: Ich wollte darauf hinweisen, was ToString üblicherweise macht. Dass ToString hier was anderes als den Klassennamen zurückliefert, ist eine Ausnahme (deren Sinn ich nicht sehe).
Die Methode
ToString
ist dafür da um eine String-Repräsentation der Klassen-Instanz zu bekommen. Diese Methode ist erstmalig bei
TObject
als
virtual
definiert (soll heißen: kann und darf überschrieben werden) und dort liefert diese einfach nur den Klassennamen zurück.
Diese Methode ist nicht dazu gedacht, den Klassennamen zu erhalten, das geht wesentlich besser über andere Wege.
So steht es auch in der Dokumentation:
Zitat:
Note: ToString
is intended to be overridden in user-derived classes, to provide consumer objects with a string representation.