Variant kennt diesbezüglich 3 Zustände:
Empty (kein Wert vorhanden)
Null (der Wert "Nichts")
Wert (z.B. True oder False)
Zitat:
Nullable<Boolean> aus Spring4D oder anderen Bibliotheken.
Sollte nicht demnächst auch in Delphi Nullable-Typen "nativ" eingeführt werden?
Aber so oder so, entweder wird es ein größerer Typ, welcher eine zusätzliche Speicherstelle für den zusätzlichen "Wert" besitzt,
oder du nutzt eben einen der vorhandenen Werte und nutzt ihn als "Nullable"-Markierung. (beim String einen bestimmten String und bei nummerischen Typen eben eine bestimmte Zahle)
Nur bei Fließkommazahlen kannst du einen der 3 vordeffinierten Sonderwerte nutzen (
NAN, Inf oder NegInf) oder eben bei den Variant-Typen, bzw. eine der vorgeschlagenen Nullable-Deklarationen.