Halten wir mal fest, es gibt keine Lösung!
Ich würde eher sagen, du hast noch nicht die richtige Ebene der Abstraktion erreicht.
Du klammerst dich an einen Record obwohl es auch wesentlich flexiblere Datenstrukturen gibt.
Nehmen wir z.B. ein Diktionary:
Delphi-Quellcode:
var
dict, dict2 : TMyDictionary;
begin
dict := TMyDictionary.Create;
dict['A'] := 42;
dict['B'] := 'Teststring';
dict['Visible'] := True;
// Beispiel für einen Copy-Konstruktor
dict2 := TMyDictionary.Create(dict);
// dict2 enthält jetzt alle Daten von dict
dict2.SaveToFile('data.txt');
dict2.Free;
dict.Free;
end;
Indem du dich von einem Record löst und Datenstrukturen auf einer höhere Abstraktionsebene verwendest kannst du mehr erreichen.
Natürlich ist dies immer auch mit einem gewissen Verlust an Geschwindigkeit verbunden, aber das ist meist kaum zu spüren.