Zitat:
Ich muss dynamisch verschiedene Controls erzeugen. Nehmen wir beispielsweise(!) TEdit, TCheckbox und TComboBox.
Alle diese drei Controls müssen mit einer zusätzlichen Funktionalität ausgestattet werden. Nennen wir diese Funktionalität 'Sag mir Deinen Startwert' (nur als Beispiel!).
So, alle diese Controls werden mit einem Startwert (Text, Checked, Text) belegt.
Dieser kann zur Laufzeit geändert werden.
Irgendwann sollen mir diese Controls auf Zuruf ihren Startwert mitteilen.
Um deine Gedanken mal in eine ganz andere Richtung zu lenken:
Warum müssen die zusätzlichen Properties so eng mit den Controls verkoppelt werden ?
Es gibt ja auch das
Model-View-Controller Prinzip.
Angenommen dein Modell wäre eine elektronische Schaltung mit vielen Bauteilen.
Jedes Bauteil hat unterschiedliche Properties (Widerstand, Kapazität,...).
Der View muss dynamisch zur Laufzeit aufgebaut und mit Controls versehen werden.
Anstatt nun die Controls mit zusätzlichen Properties auszustatten, könnte man doch eher
den View als Objektmodell (TResistor, TWire, TDiode, ...) aufbauen und dort alle Properties unterbringen.
Im View gibt es nun eine Liste, in der vermerkt ist, welches Control an welches Bauteil angekoppelt ist.
==> alle Controls bleiben Standard sind aber an das Modell gekoppelt