Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.034 c
2-1173097926
M1sT
2007-03-05 15:32
2007.04.01
Поиск в базе и создание отчета по результатам поиска...


4-1163524472
Wadim
2006-11-14 20:14
2007.04.01
Как сделать обновление экрана как при нажатии кнопки Windows


2-1173544376
bagos
2007-03-10 19:32
2007.04.01
сервер-клиент


15-1173115580
PARUS
2007-03-05 20:26
2007.04.01
Сидюк от компа


2-1173763810
ANikolay
2007-03-13 08:30
2007.04.01
Использование DLL... вылетает ошибка




   Наверх