mam taki problem:

jest sobie klasta TDialog dziedzicząca po TForm zawierające pewne wspólne procedury
i dziedziczące po niej klasy TDiaog1 TDialog2 Tdialog3 i tak dalej zawierające praktycznie tylko odpowiednio zdefiniowany układ kontrolek (cała obsługa dzieje się w klasie TDialog)
dialogi te będą wywoływane w bardzo wielu miejscach programu na podstawie informacji która zapisana jest w badzie danych

mogę zrealizować to tak

var dialog:TDialog;

if cośtam then dialog:=TDialog1.CreateDialog(...);
if cośtam then dialog:=TDialog2.CreateDialog(...);
...

i w zaleśności od tego jka tabela jest obrabiana wywoływać odpowiedni konstruktor ...

ale ponieważ dialogów będzie przybywać chciałbym to zautomatyzować tak by w to w bazie była wpisywana nazwa klasy która ma zotstać wykorzystana do budowy dialogu i po wprowadzeniu nowego typu nie trzeba było dodawać wszędzie nowych ifów

mam nadzieję że zrzumieliście o co mi chodzi - czy coś takiego jest w ogóle możliwe ?
jakieś inne pomysły ?