Basierend auf dem Basistypen errechnet der Compiler dann automatisch die Speicheradresse. Im Gegensatz zu Arrays fällt dann aber die Speicherveraltung, Größeninformationen und ggf. RangeChecking weg.
Wobei das nicht der "klassische" Pascal Weg ist und auch nicht in allen modi geht (ich glaube bei Mode Delphi geht es nur für basis typen). Ursprünglich konnte Pascal ja auch keine Pointer Arithmetik. Der eigentlich "vorgesehene" Weg ist der cast in einem statischen Array: