![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как узнать имена всех классов существующих ;в программе?
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]Зачем ?