Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.617 Beiträge
Delphi 12 Athens
|
AW: Wert innerhalb Komponente übergeben
8. Apr 2016, 19: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 19:44 Uhr)
|