Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.163 Beiträge
 
Delphi 12 Athens
 
#14

AW: Wert "nicht gesetzt" bei primitiven Datentypen - wie?

  Alt 3. Mai 2018, 10:08
Je nach Anwendungsfall könnte auch eine Universallösung sinnvoll sein:
Delphi-Quellcode:
type
  TNullableValue = record
    IsNull: Boolean;
    ValueBool: Boolean;
    ValueInt: Integer;
    ValueString: string;
    { usw. }
  end;
Das nennt sich Variant, bzw. es ist der kleine Bruder davon (oder Schwester oder Geschlechtsunentschiedener)

@Whookie: Nein, "höhere" Typen dürfen/können nicht in variante Teiles des Records rein.

Delphi-Quellcode:
type
  TNullableValue = Record
    case ValueType: {Integer}TEinEnumMitDenNamenDerTypenUndNullIstAuchEinTyp of
      0: (ValueBool: Boolean);
      1: (ValueInt: Integer);
      2: (ValueString: PChar);
      { usw. }
      666: ({IsNull: Boolean = True});
  end;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 3. Mai 2018 um 10:13 Uhr)
  Mit Zitat antworten Zitat