Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Wert innerhalb Komponente übergeben

  Alt 8. Apr 2016, 18:33
Wie wäre es mit einem Event?

[edit] Beispiel:
Delphi-Quellcode:
type
  TOnWuppdiChanged = procedure(Sender: TObject; Value: double) of object;

  TChild = class
  private
    FOnWuppdiChanged: TOnWuppdiChanged;
  public
    procedure Test;
    property OnWuppdiChanged: TOnWuppdiChanged read FOnWuppdiChanged
      write FOnWuppdiChanged;
  end;

  TParent = class
  private
    FChild: TChild;
    procedure DoOnWuppdiChanged(Sender: TObject; Value: double);
  public
    constructor Create;
    destructor Destroy; override;
  end;

...

{ TParent }

constructor TParent.Create;
begin
  FChild := TChild.Create;
  FChild.OnWuppdiChanged := DoOnWuppdiChanged;
end;

destructor TParent.Destroy;
begin
  FChild.Free;
  inherited;
end;

procedure TParent.DoOnWuppdiChanged(Sender: TObject; Value: double);
begin
  ShowMessage(Format('Wert von Wuppdi: %f', [Value]));
end;

{ TChild }

procedure TChild.Test;
begin
  //Das hier gehört dann dorthin, wo der Wert tatsächlich weitergegeben werden soll
  if Assigned(FOnWuppdiChanged) then
    FOnWuppdiChanged(self, 3.1415);
end;
[/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen

Geändert von DeddyH ( 8. Apr 2016 um 18:44 Uhr)
  Mit Zitat antworten Zitat