![]() |
Wert innerhalb Komponente übergeben
Hoi zusammen,
ich möchte eine Komponente erstellen, soweit so gut.
Delphi-Quellcode:
nun möchte ich das Ergebnis (d:double) aus Keypressed der Klasse TSimpleSlide übergeben, damit ich damit weiterarbeiten kann.
type
// Display TDisplay = class(TEdit) protected procedure KeyPress( var Key:Char); override; end; TSimpleSlide = class(TPanel) private { Private-Deklarationen } // fDisplay : TDisplay; // end; // procedure TDisplay.KeyPress( var Key:Char ); var i :integer; s :string; d :double; begin if key=#13 then begin s := text; val(s,d,i); // wie bekomme ich den wert von "text" bzw d // nach TSimpleSlide..? end; inherited KeyPress(Key); end; Wie geht das? Sam |
AW: Wert innerhalb Komponente übergeben
Wie wäre es mit einem Event?
[edit] Beispiel:
Delphi-Quellcode:
[/edit]
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; |
AW: Wert innerhalb Komponente übergeben
Klasse - Es funktioniert!
Vielen Dank DeddyH. Die Mechanik die dahinter steckt muss ich erst noch verstehen! Sam |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:31 Uhr. |
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