Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#4

AW: auf Komponenteneigenschaften in Grijjy MVVM Starter Kit zugreifen

  Alt 24. Mai 2019, 16:21
Delphi-Quellcode:
  if Assigned(FOnPropertyChangeTracking) then
  begin
    FOnPropertyChangeTracking.Invoke(Self, 'Text');
    FOnPropertyChanged.Invoke(Self, 'ItemIndex'); // <--- hier erweitert
  end;
Das muss wohl
FOnPropertyChangeTracking.Invoke(Self, 'ItemIndex'); // <--- hier erweitert heißen.

Sieht ansonsten aber nach genau der richtigen Stelle aus. Nur die Control Interposer Klassen können die Notifications Triggern, wenn man diesen Ansatz nimmt um das Feature als Drop-in zu nutzen und nicht extra binding aware Controls bauen möchte. Kurzer Blick in meinen DSharp Code geworfen... jup, ItemIndex und Text sind auch dort die Eigenschaften, über deren Änderung benachrichtig wird im Change.


Soweit ich das sehen kann, ist das Projekt aber auch derzeit nicht über den "netter Prototyp" Status hinausgekommen - mein ich keineswegs negativ.
Richtiges MVVM (und nicht, das was manche MVVM nennen) steht und fällt mit ner guten Databinding Lösung - und die schaut durchaus tauglich aus. Das ist auch zusammen mit dem TreeViewPresenter der Teil, den wir aus DSharp einsetzen.

Ich bin inzwischen der Meinung, dass wenn man zu ambitioniert versucht, MVVM so zu bauen, wie es in anderen Sprachen geht (deklarativ), fällt einem das zu schnell auf die Füße in Delphi, weils entweder wie bei Visual Livebinding einfach nur ein Riesengroßer unwartbarer Klump in den dfm Dateien wird außer man baut ein robustes Tooling drumrum, was massig Arbeit ist, so dass man das zur Designzeit schon auswerten kann - grad wenn man mit CoC arbeitet und Dinge automatisch binden lässt.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie (24. Mai 2019 um 16:24 Uhr)
  Mit Zitat antworten Zitat