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

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

как узнать имена всех классов существующих ;в программе?


AlexT1000 ©   (2002-11-14 16:24:00) 

классов ! не объектов!


AlexT1000   (2002-11-14 17:00:00) [1]

всем спасибо !

registerclass,FindClass - чисто конкретное решение!


Skier   (2002-11-14 16:53:00) [2]

>AlexT1000
Если я правильно понял, то можно проще
1) RegisterClass(es) - обязательно для своих классов!
2) И дальше GetClass(...) или FindClass(...)


Romkin   (2002-11-14 16:53:00) [3]

в initialization секции делаешь registerclass
Потом FindClass(<className>) Ну и конструируешь


Calm   (2002-11-14 16:46:00) [4]

Нормальное решение.
Я и сам так делал.


AlexT1000   (2002-11-14 16:44:00) [5]


мож я и некорректно сформултровал вопрос. но вот что мне надо

Игорь Шевченко

в ини файле есть строка.

ActionName=TLayerViewCurrentAction

так вот зная имя этого класса мне нужно как-то правильно вызвать конструктор этого класса.
единственое что я придумал это
создал массив (список) неважно
TNonMouseAction - мой класс.
TNonMouseClass = class of TNonMouseAction;

aActionsNonVisual : array of TNonMouseClass

SetLength(aActionsNonVisual,15);
aActionsNonVisual[0] := THSLAction;
aActionsNonVisual[1] := TInvertAction;
aActionsNonVisual[2] := TDesaturateAction;

ну и теперь я иду по этому массиву и сравниваю
aActionsNonVisual[i].ClassName = строка из ини
если да то aActionsNonVisual[i].Create

может есть какое более элегантное решение?


vlv   (2002-11-14 16:27:00) [6]

их там ТЫЩИ!!!


Skier   (2002-11-14 16:27:00) [7]

>AlexT1000
У Марко Кэнту в книге
есть пример "Построение иерархии классов Delphi".
Или что-то другое имеется ввиду ?


Игорь Шевченко   (2002-11-14 16:25:00) [8]

Зачем ?


Наверх

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