Zatrebalo mi je pre neki dan da uhvatim OnChange većem broju kontrola na formi da bih im promenio Color ako su prazne.
U igri je šarenilo: tEdit, tMaskEdit, tMemo, tComboBox, tCheckBox, pa neke TNT komponente, i nalteh na problem jer iako je osobina Color deklarisana u tControl nije publikovana sve do krajnje klase pa sam morao pisati:
if Sender is tEdit then (Sender as tEdit).Color:= x;
if Sender is tMaskEdit then (Sender as tMaskEdit).Color:= x;
if Sender is tMemo then (Sender as tMemo).Color:= x;
itd. desetak redova.
Može li nekako elegantnije, npr.
KASTUJ_U_KLASU(Sender, Sender.ClassName).Color:= x;
Znači pitanje je može li se objekat kastovati u klasu čije ime priložim kao string promenljiva.
Nije toliko bitno za ovaj konkretni problem, radi kako radi,
pitam uopšteno iz radoznalosti, kako kastovati promenljivom.