Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

Re: Änderung einer Deklarartion integer <-> double mög

  Alt 15. Jun 2009, 12:09
vergiß aber nicht, daß bei Reinhard Kerns Lösung der Record selber freigegeben werden muß, wenn da etwas größeres drin enthalten ist, welches via Pointer referenziert ist und auch bei Objekten.

Delphi-Quellcode:
TIndex = Record
  ValueType: (vtIntValue, vtStringValue);
  IntValue: Integer;
  StringValue: String;
  Class Operator Implicit( Value: Integer): TIndex;
  Class Operator Implicit(Const Value: String): TIndex;
  Class Operator Implicit(Const Value: TIndex): Integer;
  Class Operator Implicit(Const Value: TIndex): String;
End;
dieser Record ist z.B. 12 Byte groß,
regelt die Speicherfreigabe selber und man braucht keine Zuweisungsfunktionen aufrufen

Delphi-Quellcode:
Var X: TIndex;
  i: Integer;
  S: String;

X := i;
X := S;
S := X;
i := X;
praktisch wie Variant, nur etwas Schlanker.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat