Delphi-Quellcode:
type
TAbstractSettings = class(TObject)
protected
procedure Save(Stream: TStream); virtual; abstract;
procedure Load(Stream: TStream); vietual; abstract;
end;
TTestSettings = class(TAbstractSettings)
private
FLeftPos: Integer;
FRightPos: Integer;
public
property LeftPos..... bla bla usw.
end;
Obiges Klassenkonstrukt ist nichts anderes als ein Record, ein Record mit Properties, virtuellen Methoden, Events, Typsicherheit, Zugriffsmethoden etc.pp.
Was spricht also für generische Records und was spricht gegen Klassen ?
Falls du wirklich ganz ganz generische Records benutzen willst, also KEINE vollständigen Objecte bei denen man Methoden selber schreiben will so kann man denoch Klassen dazu benutzen. Man deklariert einfach eine X'beliebige Klasse abgeleitet von TObject und alle Felder als published. Die globale und procedurale Lade/Speicher Routine kann nun mit Hilfe der
RTTI dieser Klasse dynamisch zur Laufzeit die Felder und deren Typen ermitteln und deren Inhalte laden und speichern.
Gruß Hagen