Einzelnen Beitrag anzeigen

Benutzerbild von Leuselator
Leuselator

Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
 
Delphi 8 Architect
 
#1

Interface um Componenten-Properties zu verallgemeinern?

  Alt 7. Jan 2004, 23:36
Nach dem Anlesen der Links aus diesem Thread kommt mir nun die Idee, Interfaces zu benutzen, um die Properties meiner eigenen Komponenten leichter handhabbar zu machen. Also dachte ich:
Delphi-Quellcode:
type
  ILsAssociate = Interface
    ['{9D77B5ED-5C4D-4725-BFC6-3089D57F218C}']
    function GetAsso: TLsParent;
    procedure SetAsso(const Value: TLsParent);
    property Associate: TWincontrol read GetAsso write SetAsso;
  end;

  TLsDummy = class(TCustomControl,ILsAssociate)
  private
    FAssociate : TWincontrol;
  protected
    procedure SetAsso(const Value: TWincontrol ); // implem. für Interface
    function GetAsso : TWincontrol; // dto.
    ...
  end;

  TLsDummyUser = Class(TPanel)
  private
    FEdit : TEdit;
    FDummy : TLsDummy;
  protected
  public
    constructor Create(AOwner : TComponent); override;
  published
  end;

implementation

TLsDummyUser.Create(AOwner : TControl);
begin
  inherited;
  FEdit := TEdit.Create(self);
  FDummy := TLsDummy.Create(self);
  FDummy.Associate := FEdit; // <--- und genau das macht er nicht
  ...
end;
hmm - irgendwie schnuckt das also nicht so - wer kann mich erleuchten?
Tim Leuschner
Programmierer = moderner Sysiphos: stets wenn er meint, den Stein seiner Dummheit auf den Berg des Wissens gewuchtet zu haben, erblickt er einen völlig neuen Aspekt und der Dummfels poltert mit Getöse zurück ins Tal der Unwissenheit...
  Mit Zitat antworten Zitat