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)