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

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

Как перечислить зарегистрированные классы


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.


Наверх

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