![]() |
Spring4D V2 und DSharp Bindings
Zur Zeit gibt es leider noch keine Anpassung von DSharp an Spring4D Version 2. Ich verwende intensiv Bindungs und Presenter. Beides sind Perlen. Perlen muss man polieren, dass sie ihren ganz besonderen Glanz behalten. :wink: Weis jemand ob es ein Update für DSharp geben wird?
Ich habe das DSharp/Bindings/SpinEdit Beispiel mal kurz an Spring4D Version 2 angepasst. Mit folgenden Änderungen im Control Binding ist es sofort gelaufen. Ist das der präferierte Weg für die Anpassung an Spring4D Version 2?
Delphi-Quellcode:
Bis bald...
type
TSpinEdit = class(Spin.TSpinEdit, INotifyPropertyChanged) strict private FOnPropertyChanged: TPropertyChangedEventImpl; protected function GetOnPropertyChanged: IEvent<TPropertyChangedEvent>; procedure DoPropertyChanged(const pmcPropertyName: String; pmUpdateTrigger: TUpdateTrigger); protected procedure Change; override; procedure CMExit(var pmvMessage: TCMExit); message CM_EXIT; public procedure AfterConstruction; override; procedure BeforeDestruction; override; published property Value: Integer read GetValue write SetValue; end; procedure TSpinEdit.AfterConstruction; begin inherited AfterConstruction; FOnPropertyChanged := TPropertyChangedEventImpl.Create; FOnPropertyChanged._AddRef; end; procedure TSpinEdit.BeforeDestruction; begin FOnPropertyChanged._Release; FOnPropertyChanged := Nil; inherited BeforeDestruction; end; function TSpinEdit.GetOnPropertyChanged: IEvent<TPropertyChangedEvent>; begin Result := FOnPropertyChanged; end; procedure TSpinEdit.DoPropertyChanged(const pmcPropertyName: String; pmUpdateTrigger: TUpdateTrigger); begin if FOnPropertyChanged = Nil then Exit; //=> if FOnPropertyChanged.CanInvoke then FOnPropertyChanged.Invoke(Self, TPropertyChangedEventArgsEx.Create(pmcPropertyName, pmUpdateTrigger) as IPropertyChangedEventArgs); end; procedure TSpinEdit.Change; begin inherited; DoPropertyChanged('Text', utPropertyChanged); DoPropertyChanged('Value', utPropertyChanged); end; procedure TSpinEdit.CMExit(var pmvMessage: TCMExit); begin SetValue(GetValue); inherited; DoPropertyChanged('Text', utLostFocus); DoPropertyChanged('Value', utLostFocus); end; Thomas |
AW: Spring4D V2 und DSharp Bindings
Zitat:
|
AW: Spring4D V2 und DSharp Bindings
Hallo Stefan,
zugegeben, ich habe meinen Post in der Hoffnung formuliert von dir eine Antwort zu bekommen. In die Arbeit wollte ich dich aber nicht hetzen, sondern finde dein Engagement vorbildlich. Mir würde helfen, wenn ich wüsste, ob du das obige Muster der Umsetzung empfehlen, oder eher einen anderen Ansatz vorziehen würdest. Mir reicht ein kleiner Schubs in die richtige Richtung. Bis bald... Thomas |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:45 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