Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Создание объекта с динамическим классом [D7, XP]


Страницы:   1 2 3

Александр Семак ©   (2007-12-10 08:28:00) 

Как можно при создании объекта формировать строку названия его класса. Типа такого:
Object1 := Create.<вот тут формируем строку с именем класса>(...)


Сергей М.   (2007-12-10 08:57:00) [41]


> Александр Семак   (10.12.07 08:55) [5]


тогда см. [3]


Александр Семак   (2007-12-10 08:55:00) [42]

2 Сергей М. действительно напутал, именно это и имел в виду.


oxffff   (2007-12-10 08:46:00) [43]


> Все классы, которые нужно таким образом создавать, должны
> иметь виртуальный конструктор.


Это неправда.


Григорьев Антон   (2007-12-10 08:37:00) [44]

Все классы, которые нужно таким образом создавать, должны иметь виртуальный конструктор. Дальше заводится тип TMyClassRef = class of TSomeClass (это т.н. ссылка на класс), где TSomeClass - общий предок всех классов, которые нужно создавать таким образом. После этого экземпляр требуемого класса можно создавать с помощью конструкции Obj := X.Create(...), где X - переменная типа TMyClassRef. Этой переменной можно присваивать любые классы типа TSomeClass или его наследников. Если же необходима именно строка с именем, то все классы должны ещё иметь среди предков TPersistent, быть зарегистрированными с помощью процедуры RegisterClass, и тогда ссылку на класс по его имени можно получить через FindClass.


Сергей М.   (2007-12-10 08:37:00) [45]


> := Create. <вот тут


М.б. ты имел ввиду

Object1 := <вот тут.Create(...)

?


Думкин   (2007-12-10 08:30:00) [46]

Куда формировать?


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо