Properties im Varianten Teil sind leider auch nicht möglich, aber sowas wäre da schon möglich:
- intern alle nötigen Felder jedes Types erstellen
- und nach Außen, dann jeweils pasend zu den Einzelrecords, die Properties auf diese Felder verteilen
- hier könnte man auch Setter-/Gettermethoden verwenden, um z.B. noch einen Identifierer su beschreiben, welcher angibt, welche Version (welche Property-Gruppe) verwendet wurde
Delphi-Quellcode:
Type
MyRecord = Record
Private
iFeld1: Integer;
iFeld2: String;
iFeld3: String;
iFeld4_1: String;
iFeld4_2: Integer;
Public
Property Rec1_Feld1: Integer Read iFeld1 Write iFeld1;
Property Rec1_Feld2: String Read iFeld2 Write iFeld2;
Property Rec1_Feld3: String Read iFeld3 Write iFeld3;
Property Rec2_Feld1: Integer Read iFeld1 Write iFeld1;
Property Rec2_Feld2: String Read iFeld2 Write iFeld2;
Property Rec2_Feld3: String Read iFeld3 Write iFeld3;
Property Rec2_Feld4: String Read iFeld4_1 Write iFeld4_1;
Property Rec3_Feld1: Integer Read iFeld1 Write iFeld1;
Property Rec3_Feld2: String Read iFeld2 Write iFeld2;
Property Rec3_Feld3: Integer Read iFeld4_2 Write iFeld4_2;
End;
Delphi-Quellcode:
Type
MyRecord = Record
Private
iType: Integer; // oder 'nen SET
iFeld1: Integer;
iFeld2: String;
iFeld3: String;
iFeld4_1: String;
iFeld4_2: Integer;
Public
Property Rec1_Feld1: Integer Read iFeld1 Write SetRec1Feld1;
Property Rec1_Feld2: String Read iFeld2 Write SetRec1Feld2;
beim Speichern dann entweder über iType die Speichermethode wählen, alles speichern oder alles abweichend von einem Defaultwert speichern.