Die Funktionsweise von Getter/Setter sind wir bekannt, aber auch hier stellt sich die Frage:
Sind Getter/Setter automatisch syncronisiert?
Ich denke nein!
Beispiel:
in der Thread-Klasse gibt es eine Variable "ComConnected", die signalisiert, dass der
COM-Port connected wurde.
Um diese Variable aus dem Hauptprogramm lesen zu können habe ich die TThread-Klasse um ein Property Connected erweitert.
Dieser ruft ein Getter auf um den Wert aus der private-Variable "ComConnected" des Threads auszulesen und zu übergeben.
Code:
function GetConneted(): Boolean
begin
Result:=ComConnected; // Nicht Syncronisiert!!!
end;
Und hier liegt der Hase im Pfeffer!
Diese Übergabe ist nicht syncronisiert. Und nun?