Brett ---> Kopf!
Danke erstmal für die Anwort. Das habe ich gerade so ausprobiert und es geht natürlich sofort ...
Da ich das SubThing Property gerne sehen und drin rum schreiben würde, habe ich noch ein wenig weiter gebastelt.
Variant 1: SubThing ist nicht im PropertyInspector, geht ... das zu sehen wäre aber besser.
Delphi-Quellcode:
TSubThingUser = Class(TComponent)
public
property ReferencedSubThing : TSubThing read GetReferencedSubThing;
published
property ReferencedSubThingOwner : TSubThingOwner read FReferencedSubThingOwner write FReferencedSubThingOwner;
End;
Variant 2: SubThing ist im PropertyInspector, es wird aber wieder mehrfach gespeichert, weil per SetSubComponent geschrieben wird.
Delphi-Quellcode:
TSubThingUser = Class(TComponent)
published
property ReferencedSubThing : TSubThing read GetReferencedSubThing;
property ReferencedSubThingOwner : TSubThingOwner read FReferencedSubThingOwner write FReferencedSubThingOwner;
End;
Variant 3: SubThing ist im PropertyInspector, es wird wegen stored false nicht im User gespeichert, der Owner bekommt die Änderungen aber mit und schreibt sie.
Delphi-Quellcode:
TSubThingUser = Class(TComponent)
published
property ReferencedSubThing : TSubThing read GetReferencedSubThing stored FALSE;
property ReferencedSubThingOwner : TSubThingOwner read FReferencedSubThingOwner write FReferencedSubThingOwner;
End;
Variante 3 ist das, was ich wollte und scheint erstmal anstandslos zu funktionieren. Die Klärung der Frage, warum es Sinn macht, einem
read-only Property - das eigentlich gar nicht schreiben kann, mitteilen zu müssen, dass es nichts schreiben soll, überlasse ich schlaueren
Leuten.
Danke nochmal.