Zitat von
Assertor:
TPngObject = type TPngImage;
Das klappt so nicht, denn die "ClassName" Method liefert hierbei immernoch den echten Klassennamen zurück, der steht dann halt nur in einer anderen identischen Kopie der
RTTI für TPngImage.
Wenn du einen anderen Klassennamen willst, dann geht das nur so:
TPngObject = class(TPngImage);