Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#15

AW: OnChangeValue ?

  Alt 14. Jan 2016, 14:40
Getter ist ja nicht wirklich nötig, außer man will den Zugriff threadsicher machen, oder man muß mehr machen, als nur ein Feld auszulesen.
Delphi-Quellcode:
type
  TMeineKlasse = class//(TComponent)
  private
    FBWStellung: Integer;
    FOnValueChange :TNotifyEvent;
    procedure SetBWStellung(Value: Integer);
  public//published? (vorallem für OnValueChange, wenn man TMeineKlasse im Designer AUF die Form legt)
    Property BWStellung: Integer read FBWStellung write SetBWStellung;
    property OnValueChange: TNotifyEvent read FOnValueChange write FOnValueChange;
  end;

procedure TMeineKlasse.SetBWStellung(Value: Integer);
begin
  if FBWStellung = Value then
   Exit;
  FBWStellung := Value;
  if Assigned(FOnValueChange) then
    FOnValueChange(Self);
end;

Im Thread kannst du nun per TThread.Synchronize oder TThread.Queue dem Property was zuweisen.
Der Thread wertet also die Records aus und setzt die entsprechenden Property und die Klasse kümmert sich um die Notifications.
(mit Queue, wenn der Thread nicht hängen soll, so lange der Hauptthread arbeitet, aber mit Generice/anonymen Methroden geht sowas einfacher)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat