Einzelnen Beitrag anzeigen

freimatz

Registriert seit: 20. Mai 2010
1.383 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Properites mit Enums zusammenfassen

  Alt 27. Jan 2023, 10:30
Danke Ja sowas in der Art. (Das von Rollo62 funktioniert vielleicht auch, aber sicher nicht für diesen Anwendungszweck.
Erster Knackpunkt war Dein Vorschlag den Aufzählungstyp und die Menge separat anzugeben. Da Delphi keine Contrains auf Enums kenn kann das nur so gehen. Eine "ESet = set of E" geht nicht.
Mein letzter Stand ist der:
Delphi-Quellcode:
type
  TBla = (a, b, c);
  TBlaSet = set of TBla;

  TBlub = (l, m, o, p);
  TBlubSet = set of TBlub;

  TPropGroup<E, S> = class

  private
    FActive : E;
    FSupported: S;
    FAvailable: S;

    procedure SetActive(Value: E);
    function GetActive(): E;
    function GetSupported(): S;
    function GetAvailable(): S;

  public
    property Active : E read GetActive write SetActive;
    property Supported: S read GetSupported;
    property Available: S read GetAvailable;
  end;

  TClient = class
  strict protected
    FBla: TPropGroup<TBla, TBlaSet>;

    function GetBla(): TPropGroup<TBla, TBlaSet>;

  public
    property Bla: TPropGroup<TBla, TBlaSet> read GetBla;
  end;
Letzendlich werde ich es aber wohl lassen. Mit dem Package wo das rein sollte ist Delphi eh schon überfordert. Und ich befürchte mit noch mehr Generics wirds noch schlimmer.
  Mit Zitat antworten Zitat