Typen welche eine Initialisierung/Finalisierung benötigen dürfen im variaten Teil des Records nicht verwendet werden.
Ergo lassen sich diese Records nicht als vaianten record vereinen.
ShortStrings würden aber gehe, da sie sowas nicht benötigen.
Außerdem kann man programmseitig (ohne weiteres Feld, welches Angibt welche Variante
rad genutzt wird) nicht feststellen (nja, nicht unbedingt mit Sicherheit) welcher Typ verwendet wird.
Wieso nutzt du denn nicht nur Rec2? (es enthält, zumindestens vom Aufbau her, den Rec1)
hier würde ich sagen, verwende Rec2 und speichere nur das, was von einem Standardwert abweichet (bei String z.B. <> '')