![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как перечислить зарегистрированные классы
atruhin © (2007-02-04 22:15:00)Т.е. классы зарегестрированные RegisterClass перечислить в рантайм?
evvcom (2007-02-06 10:05:00) [1]> [5] atruhin © (05.02.07 14:57)
Рыть надо генофонд! Там гораздо больше инфы.
atruhin (2007-02-05 14:57:00) [2]Большое спасибо. А то пол вечера рыл инет, да литературу ничего.
MBo (2007-02-05 07:48:00) [3]>что же за пакость в этих новых BDS с именованием классов форм?
Глобальная сквозная нумерация ;))
При создании нового проекта в общей папке Projects дается очередное имя проекту и формам, поэтому для тестовых проектов у меня нумерация растет быстро.
Джо (2007-02-05 06:50:00) [4]> [2] MBo © (05.02.07 06:39)
> хм... в Classes обнаружил TClassFinder
Ого. Забавно.
[offtop]
TForm18 — что же за пакость в этих новых BDS с именованием классов форм?
[/offtop]
MBo (2007-02-05 06:39:00) [5]хм... в Classes обнаружил TClassFinder
procedure TForm18.FormCreate(Sender: TObject);
begin
RegisterClass(TButton);
end;
procedure TForm18.GetC(AClass: TPersistentClass);
begin
ListBox1.Items.Add(AClass.ClassName);
end;
procedure TForm18.Button4Click(Sender: TObject);
var
CF: TClassFinder;
begin
CF := TClassFinder.Create();
CF.GetClasses(GetC);
CF.Free;
end;
MBo (2007-02-05 06:17:00) [6]Зарегистрированные классы хранятся в приватном списке, так что легальных способов добраться к ним нет, а хакерские - зависят от версии Дельфи.
Из примитивного - создать список имен известных классов и проверять Find/GetClass.