Ich weiß nicht ob ich dich richtig verstanden habe, aber lass doch einfach den Setter write FSetLastLogin;
weg. Dann ist die Property ReadOnly.
Ne, das Problem ist das Gleiche, wie wenn man z.B. eine
TList<T>
Property hat. Dann kann man zwar das Ersetzen der Instanz verhindern, wenn man
write
nicht angibt, aber ein Aufruf von z.B.
List.Delete(i)
ist dennoch möglich.
@TE: Soweit ich weiß gibt es da in Delphi keine "saubere" Methode. Ein read-only Proxy Objekt wäre wohl auch mein Ansatz; auch wenn es unnötiger Overhead ist. Am elegantesten wäre wohl noch ein Interface, was du einmal von der "richtigen" Klasse und einmal vom Proxy implementierst.