Irgendwie kann ich mir nicht vorstellen, dass noch nie jemand seit Delphi 6 so eine Property mit einem Getter genutzt hat und dass das erst jetzt auffällt.
Das Problem ist offenbar die Kombination des zweimaligen Aufrufs von
GetReAdr
und der Zusammensetzung des Ergebnisses. Hier versucht der Compiler offenbar eine coole Optimierung und fällt dabei auf die Klappe. Es scheint ja gut zu funktionieren, wenn man die Strings nicht mit einem zweimaligen Aufruf der Funktion zusammensetzt. Die Felder der TAdresse-Instanz sind ja durchaus korrekt. Es ist das Concat was schief geht.
Auf den zweimaligen Aufruf hatte ich ja schon anfangs hingewiesen. Offenbar ist er nicht nur redundant sondern auch schädlich.