Ну ты же его проектировал "в визуальном режиме" )) Ты и знаешь класс фрейма.
Совершенно верно, я знаю имена классов моих фреймов. Но у меня есть функция, которая должна уметь создать и отобразить фрейм зная о фрейме только его имя. Функция должна, при выделении памяти для фрейма, знать на основе какого класса сделан фрейм с таким то именем.
// Фрейм DataFrame создан на основе класса TDataFrame
// Фрейм VideoFrame создан на основе класса TVideoFrame
// Фрейм FindFrame создан на основе класса TFindFrame
// Память для фреймов не выделена
// Каким образом здесь функция определит, что надо прибегнуть к использованию
// конструкции вида Frame = new TFindFrame(Application) ?
ShowFrame(FindFrame);
// А тут Frame = new TDataFrame(Application)
ShowFrame(DataFrame);