Guten Tag,
mir fehlt gerade irgendwie der Griff zum richtigen Mittel fuer folgende Situation:
Delphi-Quellcode:
type
TZitrone = packed Record
Breite: Integer;
Saeuerlichkeit: Double;
End;
TErdnuss = packed Record
Breite: Integer;
Schale: Boolean;
Geschmack: String;
End;
TSnack = class
GegessenVon: String;
virtual Inhalt: TArray<T: TZitrone, TErdnuss>;
procedure NulleBreiten;
End;
implementation
procedure TSnack.NulleBreiten;
var
I: Integer;
begin
for I:=0 to High(Inhalt) do
Breite := 0;
end;
Selbstverstaendlich funktioniert das so wie geschrieben nicht. Ich braeuchte eben die korrekte Syntax/den korrekten Aufbau anstatt
virtual Inhalt: TArray<T: TZitrone, TErdnuss>;
Ich will also, dass "Inhalt" entweder ein TArray<TZitrone> oder ein TArray<TErdnuss> sein
muss.
Ausserdem will ich von TSnack-Klassenmethoden, die nicht auf die spezifischen Eigenschaften
Saeuerlichkeit, Schale, Geschmack zugreifen, allgemein durch das Array iterieren koennen.
Ich habe es mit Vererbung probiert, TErdnussSnack = class(TSnack), nur in Erdnuss-Snack dann das TArray<TErdnuss> deklariert. Dann existiert aber kein Element in TSnack, durch das ich allgemein iterieren koennte.
Vielleicht kennt jemand einen besseren Aufbau/Ansatz oder die gesuchte Syntax?
Danke