Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Readonly interface erzeugen (MMX?) (https://www.delphipraxis.net/209648-readonly-interface-erzeugen-mmx.html)

himitsu 5. Jan 2022 16:08

AW: Readonly interface erzeugen (MMX?)
 
Gibt es bei Interfaces auch die Möglichkeit Property zu erweitern, so wie bei Objeken?

Die Property sind ja eine Delphi-Sache ... das Windows-Interface hat ja offiziell nicht sowas.

Delphi-Quellcode:
type
  IReadOnlyData = interface
    ['{7F08C18E-0E6A-40F1-9DD9-AFDDA473FB8B}']
    function GetActualValue(const p_Component: Byte): double;
    function GetCurrentActual(): IActualValue;
    function GetDefaultBehaviourMode(): String;

    property DefaultBehaviourMode: String read GetDefaultBehaviourMode;
    property CurrentActual: IActualValue read GetCurrentActual;
    property ActualValue[const p_Component: Byte]: double read GetActualValue;
  end;

  IData = interface( IReadOnlyData )
    ['{E9154DD9-A28E-4703-9DD8-5181A27869E2}']
    procedure SetActualValue(const p_Component: Byte; const p_Value : double);
    procedure SetCurrentActual(const p_Value: IActualValue);
    procedure SetDefaultBehaviourMode(const p_Value: String);

    property DefaultBehaviourMode write SetDefaultBehaviourMode;
    property CurrentActual write SetCurrentActual;
    property ActualValue write SetActualValue;
  end;

Rollo62 5. Jan 2022 16:55

AW: Readonly interface erzeugen (MMX?)
 
Zitat:

Zitat von himitsu (Beitrag 1500131)
Gibt es bei Interfaces auch die Möglichkeit Property zu erweitern, so wie bei Objeken?

Würd ich nicht drauf wetten, besser mal austesten (oder in die Doku schauen, vermutlich ohne Erfolg ... ) :stupid:


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:10 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz