Der Compiler sorgt nur dafür, dass die varianten Records mindestens genug Speicher für die größte Variante haben. Semantisch kann man damit entweder den Zugriff auf die selben Daten (z.B. Integer vs. array of Byte) oder auch semantisch nicht verwandte Daten halten.Warf hat geschrieben: Mo 20. Jul 2026, 20:06 Gegenfrage, warum sollte das funktionieren? Variante records haben eine gänzlich andere Semantik. Z.B. wenn bei einem Varianten record ein branch größer ist als der andere ist das kein problem da beide branches gleichwertig sind. Absolute ist eine art alias, hierbei sind die branches nicht gleichwertig sondern der absolut Bezeichner ist ein alias für die Speicheradresse und wenn die typgrößen nicht matchen dann knallt es
Beim Schlüsselwort absolute bist du selbst verantwortlich auf die Speichergrößen zu achten - der Compiler hilft dir dabei nicht. Auch greift absolute immer auf den Anfang der Zielvariablen zu, während man bei varianten Records über Platzhalterfelder recht frei auf alle Bytes zugreifen kann, solange man das Speicherlayout korrekt beachtet ...