Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.01;
Скачать: CL | DM;

Вниз

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

 
atruhin ©   (2007-02-04 22:15) [0]

Т.е. классы зарегестрированные RegisterClass перечислить в рантайм?


 
MBo ©   (2007-02-05 06:17) [1]

Зарегистрированные классы хранятся в приватном списке, так что легальных способов добраться к ним нет, а хакерские - зависят от версии Дельфи.
Из примитивного - создать список имен известных классов и проверять Find/GetClass.


 
MBo ©   (2007-02-05 06:39) [2]

хм... в 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;


 
Джо ©   (2007-02-05 06:50) [3]

> [2] MBo ©   (05.02.07 06:39)
> хм... в Classes обнаружил TClassFinder

Ого. Забавно.

[offtop]
TForm18 — что же за пакость в этих новых BDS с именованием классов форм?
[/offtop]


 
MBo ©   (2007-02-05 07:48) [4]

>что же за пакость в этих новых BDS с именованием классов форм?

Глобальная сквозная нумерация ;))

При создании нового проекта в общей папке Projects дается очередное имя проекту и формам, поэтому для тестовых проектов у меня нумерация растет быстро.


 
atruhin ©   (2007-02-05 14:57) [5]

Большое спасибо. А то пол вечера рыл инет, да литературу ничего.


 
evvcom ©   (2007-02-06 10:05) [6]

> [5] atruhin ©   (05.02.07 14:57)

Рыть надо генофонд! Там гораздо больше инфы.



Страницы: 1 вся ветка

Текущий архив: 2007.04.01;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.028 c
1-1171032439
Нож
2007-02-09 17:47
2007.04.01
gds_db 3050/tcp Unable to complete network request


15-1173612964
Kerk
2007-03-11 14:36
2007.04.01
Знатокам линукса


3-1168414258
Шмель
2007-01-10 10:30
2007.04.01
UNION query. SQL


15-1173297215
Cerberus
2007-03-07 22:53
2007.04.01
Рипер CD дисков с возможностью сохранения в eACC+


9-1145118671
Sulim
2006-04-15 20:31
2007.04.01
Шуйдеры