AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Properties in Interfaces

Ein Thema von Helmi · begonnen am 5. Okt 2017 · letzter Beitrag vom 10. Okt 2017
 
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#1

Properties in Interfaces

  Alt 5. Okt 2017, 10:23
Hallo Zusammen,

bezugnehmend auf diesen Thread hab ich noch eine Frage, diesmal aber bzgl. Properties in Interfaces.

Ich hab mein Interface um eine Property erweitert:
Delphi-Quellcode:
unit Unit2;

interface

type
  IMyInterfaceInternal = Interface
    function GetOnOffTimer: Boolean;
    procedure SetOnOffTimer(b: Boolean);
  end;

  IHostInterface = interface(IMyInterfaceInternal)
    procedure TimerEvent;
    property OnOffTimer: Boolean read GetOnOffTimer write SetOnOffTimer;
  end;
In meinem Host hab ich die Klasse dementsprechend erweitert:
Delphi-Quellcode:
type
  THostInterface = class(TInterfacedObject, IHostInterface)
  private
    function get_Feld: Boolean;
    procedure set_Feld(b: Boolean);

  public
    procedure TimerEvent;
    property OnOffTimer: Boolean read get_Feld write set_Feld;
  end;
Wobei ich dort ja eigentlich nicht die Property und den Getter und Setter brauch, weil ich dort ja die Property versorgen möchte um in meiner BPL etwas auszuführen.

In meiner BPL wird das Interface "nur" als Variable übergeben, so dass ich dort keine Klasse habe, um auf das Event zu reagieren.
Delphi-Quellcode:
uses
  Vcl.ExtCtrls, System.Classes, Unit2;

type
  TSPS = class(TObject)
  private
    { Private-Deklarationen }
    Timer: TTimer;
    procedure TimerEvent(Sender: TObject);
  public
    { Public-Deklarationen }
    Host: IHostInterface;
    constructor Create;
    destructor Destroy; override;
  end;

var
  SPS: TSPS;

implementation

procedure InitBPL(const AHost: IHostInterface);
begin
  SPS.Host := AHost;
end;
Wie kann ich nun richtig eine Property anlegen um von meiner Hostanwendung in der BPL, wie jetzt in diesem Testprojekt, den Timer ein- und ausschalten?
Angehängte Dateien
Dateityp: rar test_Interface.rar (982,1 KB, 3x aufgerufen)
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz