Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

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

  Alt 15. Jun 2009, 13: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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat