TFileName ist kein Alias, es ist ein Nachfahre.
Delphi-Quellcode:
type
TFileName = type string;
^^^^
Definiert einen neuen Typ mit den selben Eigenschaften, welcher auch zuweisungskompatibel ist.
String ist sowas, wie Integer früher und NativeInt jetzt ist ... er ist ein Alias auf den nativen Typen des Compilers.
* vor Delphi2009 war es der AnsiString
* und gaaaaaanz früher war es kein Alias, da war es der Typ String, welcher jetzt ShortString heißt (aber der Einfachheit halber könnte man es da als Alias für den ShortString sehen)