Moin Ernie,
von Vor- oder Nachteil kann man da meiner Ansicht nach nicht unbedingt sprechen.
Wenn Speicher den der Record belegt unterschiedlich interpretiert werden kann, ist ein varianter Record erforderlich. Dadurch wird ja nur die Möglichkeit geboten den von einer entsprechend deklarierten Variablen belegten Speicher ohne Konvertierungen direkt unterschiedlich ansprechen zu können.
Also in etwa so:
Code:
type
TMyVariantRecord =
packed record
fNumeric : Boolean;
case Boolean of
false :
(sResult : string[SizeOf(Extended)]);
true :
(exResult : extended);
end;